Class: Treasurer::Reporter::Equity
Instance Attribute Summary
Attributes inherited from Account
#average, #currency, #external, #original_currency, #projection, #runs
Instance Method Summary
collapse
Methods inherited from Account
#available, #balance_graph_string, #cache, #currency_label, #deposited, #discretionary, #generate_report_account, #has_balance?, #info, #linked_projected_account_info, #money_in_sign, #name_c, #name_c_file, #non_discretionary_projected_balance, #opening_balance, #opening_date, #report_account, #report_start, #sub_accounts, #withdrawn, #write_balance_graph
Constructor Details
#initialize(reporter, runner, accounts, options = {}) ⇒ Equity
Returns a new instance of Equity.
376
377
378
379
380
381
|
# File 'lib/treasurer/accounts.rb', line 376
def initialize(reporter, runner, accounts, options={})
@reporter = reporter
@runner = runner
@accounts = accounts @currency = options[:currency]
end
|
Instance Method Details
#balance(date = @reporter.today) ⇒ Object
403
404
405
406
407
408
409
410
411
412
413
414
|
# File 'lib/treasurer/accounts.rb', line 403
def balance(date=@reporter.today)
@accounts.map{|acc|
case acc.type
when :Asset
acc.balance(date)
when :Liability
-acc.balance(date)
else
0.0
end
}.sum + sum_of_assets
end
|
#name ⇒ Object
388
389
390
|
# File 'lib/treasurer/accounts.rb', line 388
def name
:Equity
end
|
#projected_balance(date = @reporter.today) ⇒ Object
415
416
417
418
419
420
421
422
423
424
425
426
|
# File 'lib/treasurer/accounts.rb', line 415
def projected_balance(date=@reporter.today)
@accounts.map{|acc|
case acc.type
when :Asset
acc.projected_balance(date)
when :Liability
-acc.projected_balance(date)
else
0.0
end
}.sum + sum_of_assets
end
|
#red_line(date = @reporter.today) ⇒ Object
391
392
393
394
395
396
397
398
399
400
401
402
|
# File 'lib/treasurer/accounts.rb', line 391
def red_line(date=@reporter.today)
@accounts.map{|acc|
case acc.type
when :Asset
acc.red_line(date)
when :Liability
-acc.red_line(date)
else
0.0
end
}.sum + sum_of_assets
end
|
#should_report? ⇒ Boolean
382
383
384
|
# File 'lib/treasurer/accounts.rb', line 382
def should_report?
true
end
|
#sum_of_assets ⇒ Object
427
428
429
|
# File 'lib/treasurer/accounts.rb', line 427
def sum_of_assets
ASSETS.find_all{|name,details| details[:currency] == currency}.map{|name,details| details[:size]}.sum or 0.0
end
|
#summary_line(today, days_before) ⇒ Object
439
440
441
|
# File 'lib/treasurer/accounts.rb', line 439
def summary_line(today, days_before)
"#{name_c} & #{balance(today).to_tex} & & "
end
|
#summary_table(today, days_before) ⇒ Object
430
431
432
433
434
435
436
437
438
|
# File 'lib/treasurer/accounts.rb', line 430
def summary_table(today, days_before)
<<EOF
\\subsubsection{#{name}}
\\begin{tabulary}{0.8\\textwidth}{ r | l}
Balance & #{balance} \\\\
\\end{tabulary}
EOF
end
|
#type ⇒ Object
385
386
387
|
# File 'lib/treasurer/accounts.rb', line 385
def type
:Equity
end
|