class RockBooks::TxOneAccountData
Attributes
account[R]
account_code[R]
account_total[R]
context[R]
entries[R]
totals[R]
Public Class Methods
new(report_context, account_code)
click to toggle source
# File lib/rock_books/reports/data/tx_one_account_data.rb, line 9 def initialize(report_context, account_code) @context = report_context @account_code = account_code end
Public Instance Methods
fetch()
click to toggle source
# File lib/rock_books/reports/data/tx_one_account_data.rb, line 14 def fetch account = context.chart_of_accounts.account_for_code(account_code) account_string = "#{account.code} -- #{account.name} (#{account.type.to_s.capitalize})" entries = Journal.entries_in_documents(context.journals, JournalEntryFilters.account_code(account_code)) account_total = JournalEntry.total_for_code(entries, account_code) totals = AcctAmount.aggregate_amounts_by_account(JournalEntry.entries_acct_amounts(entries)) { account_string: account_string, entries: entries, total: account_total, totals: AcctAmount.aggregate_amounts_by_account(JournalEntry.entries_acct_amounts(entries)), grand_total: totals.values.sum.round(2) } end
Private Instance Methods
fetch_totals(filter)
click to toggle source
# File lib/rock_books/reports/data/tx_one_account_data.rb, line 32 def fetch_totals(filter) acct_amounts = Journal.acct_amounts_in_documents(context.journals, filter) AcctAmount.aggregate_amounts_by_account(acct_amounts) end