class BankAccountStatement::Inputs::TXT::CPBKGB22::Business::Current::V_2015_12_06
TXT
statement parsing for The Co-operative Bank business current accounts.
Constants
- TH
Private Instance Methods
_bank_account_ids()
click to toggle source
# File lib/bank-account-statement/inputs/TXT/CPBKGB22/Business/Current/V_2015_12_06.rb, line 31 def _bank_account_ids @doc_e[0].match(/\b(?<bank_id>\d{6})(?<account_id>\d{8})\d{2}\b/) end
_clean_amount(str)
click to toggle source
# File lib/bank-account-statement/inputs/TXT/CPBKGB22/Business/Current/V_2015_12_06.rb, line 26 def _clean_amount(str) a = str.tr(',', '') BigDecimal(a) end
_columns(header_row)
click to toggle source
# File lib/bank-account-statement/inputs/TXT/CPBKGB22/Business/Current/V_2015_12_06.rb, line 47 def _columns(header_row) hi = Hash[TH.map { |k, v| i = header_row.index(v) [k, i...(i + v.length)] }] cs = {} cs[:date] = 0...10 cs[:desc] = (cs[:date].last)...(hi[:withdrawal].first) cs[:withdrawal] = (cs[:desc].last)...(hi[:withdrawal].last) cs[:deposit] = (cs[:withdrawal].last)...(hi[:deposit].last) cs[:balance] = (cs[:deposit].last)...(hi[:balance].last) cs end
_transaction_rows()
click to toggle source
# File lib/bank-account-statement/inputs/TXT/CPBKGB22/Business/Current/V_2015_12_06.rb, line 35 def _transaction_rows hr = @doc_e[3] cs = _columns(hr) body_rs = @doc_e[4..-1] body_rs.map { |r| Hash[TH.keys.map { |e| [e, r[cs[e]]] }] } end