Class: Ookkee::EntryRepo
- Inherits:
-
Object
- Object
- Ookkee::EntryRepo
- Defined in:
- lib/ookkee/repos/entry_repo.rb
Instance Method Summary collapse
- #account_entries_with_user(account, user) ⇒ Object
- #build_from_factory(sheet, factory) ⇒ Object
- #calculate_account_balance(account, user) ⇒ Object
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 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) ⇒ 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.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) ⇒ Object
24 25 26 |
# 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 |