class PaymentSchedule::Output
Public Class Methods
to_s(schedule)
click to toggle source
# File lib/payment_schedule/output.rb, line 6 def to_s(schedule) table = Terminal::Table.new(title: schedule.class) do |t| t << heading(schedule) t << :separator schedule.row_numbers.each do |row_no| t << row_contents(schedule, row_no) end end table.to_s end
Private Class Methods
heading(schedule)
click to toggle source
# File lib/payment_schedule/output.rb, line 21 def heading(schedule) names = schedule.component_names.map do |name| name.to_s.tr('_', ' ').capitalize end ['No', names].flatten end
row_contents(schedule, row_no)
click to toggle source
# File lib/payment_schedule/output.rb, line 29 def row_contents(schedule, row_no) values = schedule.component_names.map { |name| schedule[name, row_no] } [row_no, values].flatten end