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