class Ookkee::EntryRepo

Public Instance Methods

account_entries_with_user(account, user) click to toggle source
# File lib/ookkee/repos/entry_repo.rb, line 16
def account_entries_with_user(account, user)
  Ookkee::Entry.joins(:account, :sheet)
    .where(sheet_name: account.sheet_name)
    .where('ookkee_accounts.name = ?', account.name)
    .where('ookkee_sheets.user_id = ? and ookkee_sheets.user_type = ?', user.id, user.class.name)
    .order('ookkee_entries.created_at DESC')
end
build_from_factory(sheet, factory) click to toggle source
# File lib/ookkee/repos/entry_repo.rb, line 5
def build_from_factory(sheet, factory)
  entry              = sheet.entries.build
  entry.account      = factory.attributes[:account]
  entry.trackable    = factory.attributes[:trackable]
  entry.sheet_name   = factory.attributes[:sheet_name]
  entry.entry_type   = factory.attributes[:entry_type]
  entry.amount       = BigDecimal(factory.attributes[:amount] || 0)

  entry
end
calculate_account_balance(account, user) click to toggle source
# File lib/ookkee/repos/entry_repo.rb, line 24
def calculate_account_balance(account, user)
  account_entries_with_user(account, user).where('entry_type = ?', 'debit').sum(:amount) - entries.where('entry_type = ?', 'credit').sum(:amount)
end