class BankAccountStatement::Outputs::CSV::Column_2

CSV 2-column (separate withdrawal and deposit columns) statement generation.

Constants

Public Instance Methods

generate() click to toggle source
# File lib/bank-account-statement/outputs/CSV/column_2.rb, line 18
def generate
  _csv_bank_statement
end

Private Instance Methods

_amount(amount) click to toggle source
# File lib/bank-account-statement/outputs/CSV/column_2.rb, line 28
def _amount(amount)
  amount.to_s('F')
end
_amount_wd(transaction) click to toggle source
# File lib/bank-account-statement/outputs/CSV/column_2.rb, line 42
def _amount_wd(transaction)
  k, s = transaction[:amount] >= 0 ? [:deposit, 1] : [:withdrawal, -1]
  
  { k => _amount(transaction[:amount] * s) }
end
_csv_bank_statement() click to toggle source
# File lib/bank-account-statement/outputs/CSV/column_2.rb, line 32
def _csv_bank_statement
  ::CSV.generate do |c|
    c << HEADER.values
    @data[:transactions].each do |t|
      t2 = t.merge(_amount_wd(t))
      c << HEADER.keys.map { |e| t2[e] }
    end
  end
end
_time(datetime) click to toggle source
# File lib/bank-account-statement/outputs/CSV/column_2.rb, line 24
def _time(datetime)
  datetime.public_methods
end