Class: Ookkee::EntryRepo

Inherits:
Object
  • Object
show all
Defined in:
lib/ookkee/repos/entry_repo.rb

Instance Method Summary collapse

Instance Method Details

#account_entries_with_user(account, user) ⇒ Object



16
17
18
19
20
21
22
# File 'lib/ookkee/repos/entry_repo.rb', line 16

def (, user)
  Ookkee::Entry.joins(:account, :sheet)
    .where(sheet_name: .sheet_name)
    .where('ookkee_accounts.name = ?', .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) ⇒ Object



5
6
7
8
9
10
11
12
13
14
# File 'lib/ookkee/repos/entry_repo.rb', line 5

def build_from_factory(sheet, factory)
  entry              = sheet.entries.build
  entry.      = 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) ⇒ Object



24
25
26
# File 'lib/ookkee/repos/entry_repo.rb', line 24

def (, user)
  (, user).where('entry_type = ?', 'debit').sum(:amount) - entries.where('entry_type = ?', 'credit').sum(:amount)
end