mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-24 23:59:40 +02:00
30 lines
619 B
Ruby
30 lines
619 B
Ruby
class Transaction < ApplicationRecord
|
|
include Monetizable
|
|
|
|
belongs_to :account
|
|
belongs_to :category, optional: true
|
|
|
|
validates :name, :date, :amount, :account, presence: true
|
|
|
|
after_commit :sync_account
|
|
|
|
monetize :amount
|
|
|
|
scope :inflows, -> { where("amount > 0") }
|
|
scope :outflows, -> { where("amount < 0") }
|
|
scope :active, -> { where(excluded: false) }
|
|
|
|
def self.ransackable_attributes(auth_object = nil)
|
|
%w[name amount date]
|
|
end
|
|
|
|
def self.ransackable_associations(auth_object = nil)
|
|
%w[category account]
|
|
end
|
|
|
|
private
|
|
|
|
def sync_account
|
|
self.account.sync_later
|
|
end
|
|
end
|