1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-23 23:29:39 +02:00
Maybe/app/models/rule/action_executor/set_transaction_merchant.rb
2025-05-20 11:33:35 -04:00

27 lines
581 B
Ruby

class Rule::ActionExecutor::SetTransactionMerchant < Rule::ActionExecutor
def type
"select"
end
def options
family.merchants.pluck(:name, :id)
end
def execute(transaction_scope, value: nil, ignore_attribute_locks: false)
merchant = family.merchants.find_by_id(value)
return unless merchant
scope = transaction_scope
unless ignore_attribute_locks
scope = scope.enrichable(:merchant_id)
end
scope.each do |txn|
txn.enrich_attribute(
:merchant_id,
merchant.id,
source: "rule"
)
end
end
end