class Ookkee::Sheet
Private Instance Methods
credit_and_debit_must_be_exists()
click to toggle source
# File lib/ookkee/model/sheet.rb, line 26 def credit_and_debit_must_be_exists if credit_filter(entries).count == 0 || debit_filter(entries).count == 0 errors.add(:base, "credit and debut must be exists") end end
ledger_equalities()
click to toggle source
# File lib/ookkee/model/sheet.rb, line 32 def ledger_equalities assets = ledger_left(assets_filter(entries)) expenses = ledger_left(expenses_filter(entries)) liabilities = ledger_right(liabilities_filter(entries)) equity = ledger_right(equity_filter(entries)) revenue = ledger_right(revenue_filter(entries)) if assets + expenses != liabilities + equity + revenue errors.add(:base, "credits amount must equal to debits amount") end end
ledger_left(collection)
click to toggle source
# File lib/ookkee/model/sheet.rb, line 44 def ledger_left(collection) debits = debit_filter(collection).inject(0) { |sum, entry| sum + entry.amount } credits = credit_filter(collection).inject(0) { |sum, entry| sum + entry.amount } debits - credits end
ledger_right(collection)
click to toggle source
# File lib/ookkee/model/sheet.rb, line 50 def ledger_right(collection) -1 * ledger_left(collection) end