Class: RockBooks::TxOneAccountData
- Inherits:
-
Object
- Object
- RockBooks::TxOneAccountData
- Includes:
- TextReportHelper
- Defined in:
- lib/rock_books/reports/data/tx_one_account_data.rb
Constant Summary
Constants included from TextReportHelper
RockBooks::TextReportHelper::SHORT_NAME_FORMAT_STRING, RockBooks::TextReportHelper::SHORT_NAME_MAX_LENGTH
Instance Attribute Summary collapse
-
#account ⇒ Object
readonly
Returns the value of attribute account.
-
#account_code ⇒ Object
readonly
Returns the value of attribute account_code.
-
#account_total ⇒ Object
readonly
Returns the value of attribute account_total.
-
#context ⇒ Object
readonly
Returns the value of attribute context.
-
#entries ⇒ Object
readonly
Returns the value of attribute entries.
-
#totals ⇒ Object
readonly
Returns the value of attribute totals.
Instance Method Summary collapse
- #fetch ⇒ Object
-
#initialize(report_context, account_code) ⇒ TxOneAccountData
constructor
A new instance of TxOneAccountData.
Methods included from TextReportHelper
#account_code_format, #account_code_name_type_string, #account_code_name_type_string_for_code, #acct_name, #banner_line, #center, #end_date, #format_acct_amount, #format_multidoc_entry, #generation_info_display_string, #line_item_format_string, #max_account_code_length, #page_width, #section_heading, #start_date, #template_presentation_context, #total_with_ok_or_discrepancy
Constructor Details
#initialize(report_context, account_code) ⇒ TxOneAccountData
Returns a new instance of TxOneAccountData.
9 10 11 12 |
# 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 |
Instance Attribute Details
#account ⇒ Object (readonly)
Returns the value of attribute account.
6 7 8 |
# File 'lib/rock_books/reports/data/tx_one_account_data.rb', line 6 def account @account end |
#account_code ⇒ Object (readonly)
Returns the value of attribute account_code.
6 7 8 |
# File 'lib/rock_books/reports/data/tx_one_account_data.rb', line 6 def account_code @account_code end |
#account_total ⇒ Object (readonly)
Returns the value of attribute account_total.
6 7 8 |
# File 'lib/rock_books/reports/data/tx_one_account_data.rb', line 6 def account_total @account_total end |
#context ⇒ Object (readonly)
Returns the value of attribute context.
6 7 8 |
# File 'lib/rock_books/reports/data/tx_one_account_data.rb', line 6 def context @context end |
#entries ⇒ Object (readonly)
Returns the value of attribute entries.
6 7 8 |
# File 'lib/rock_books/reports/data/tx_one_account_data.rb', line 6 def entries @entries end |
#totals ⇒ Object (readonly)
Returns the value of attribute totals.
6 7 8 |
# File 'lib/rock_books/reports/data/tx_one_account_data.rb', line 6 def totals @totals end |
Instance Method Details
#fetch ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# 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 |