mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-23 23:29:39 +02:00
33 lines
874 B
Ruby
33 lines
874 B
Ruby
|
class Rule::Registry::TransactionResource < Rule::Registry
|
||
|
def resource_scope
|
||
|
family.transactions.active.with_entry.where(entry: { date: rule.effective_date.. })
|
||
|
end
|
||
|
|
||
|
def condition_filters
|
||
|
[
|
||
|
Rule::ConditionFilter::TransactionName.new(rule),
|
||
|
Rule::ConditionFilter::TransactionAmount.new(rule),
|
||
|
Rule::ConditionFilter::TransactionMerchant.new(rule)
|
||
|
]
|
||
|
end
|
||
|
|
||
|
def action_executors
|
||
|
enabled_executors = [
|
||
|
Rule::ActionExecutor::SetTransactionCategory.new(rule),
|
||
|
Rule::ActionExecutor::SetTransactionTags.new(rule)
|
||
|
]
|
||
|
|
||
|
if ai_enabled?
|
||
|
enabled_executors << Rule::ActionExecutor::AutoCategorize.new(rule)
|
||
|
enabled_executors << Rule::ActionExecutor::AutoDetectMerchants.new(rule)
|
||
|
end
|
||
|
|
||
|
enabled_executors
|
||
|
end
|
||
|
|
||
|
private
|
||
|
def ai_enabled?
|
||
|
Provider::Registry.get_provider(:openai).present?
|
||
|
end
|
||
|
end
|