class Report
Attributes
balance[R]
credits[R]
debits[R]
Public Class Methods
new(ledger)
click to toggle source
# File lib/mega_lotto_ps/report.rb, line 2 def initialize(ledger) @balance = ledger.inject(0) { |sum, (k,v)| sum + v } @credits, @debits = ledger.partition { |k,v| v > 0 } end
Public Instance Methods
formatted_line_items(items)
click to toggle source
# File lib/mega_lotto_ps/report.rb, line 15 def formatted_line_items(items) items.map { |k, v| "#{k}: #{'%.2f' % v.abs}" }.join("\n") end
formatted_output()
click to toggle source
# File lib/mega_lotto_ps/report.rb, line 9 def formatted_output "Current Balance: #{balance}\n\n" + "Credits:\n\n#{formatted_line_items(credits)}\n\n" + "Debits:\n\n#{formatted_line_items(debits)}" end