class Transaction
Constants
- TYPE
Public Class Methods
new(string, columns)
click to toggle source
# File lib/ng-bank-parser/parsers/uba-pdf-parser/classes/transaction.rb, line 13 def initialize(string, columns) set_date_from_transaction_string(string) set_amount_and_type_from_transaction_string(string, columns[:debit_column], columns[:credit_column]) set_balance_from_transaction_string(string, columns[:balance_column]) set_remarks_from_transaction_string(string, columns[:remarks_column]) set_ref end
Public Instance Methods
to_hash()
click to toggle source
# File lib/ng-bank-parser/parsers/uba-pdf-parser/classes/transaction.rb, line 21 def to_hash { date: @date, amount: @amount, type: @type, balance: @balance, remarks: @remarks, ref: @ref } end
Private Instance Methods
set_amount_and_type_from_transaction_string(string, debit_column, credit_column)
click to toggle source
# File lib/ng-bank-parser/parsers/uba-pdf-parser/classes/transaction.rb, line 38 def set_amount_and_type_from_transaction_string(string, debit_column, credit_column) debit = string.get_first_line.extract_column(debit_column).remove_white_spaces credit = string.get_first_line.extract_column(credit_column).remove_white_spaces if (debit.blank? && !credit.blank?) @type = TYPE[:credit] @amount = credit.remove_commas.to_f elsif (credit.blank? && !debit.blank?) @type = TYPE[:debit] @amount = debit.remove_commas.to_f end end
set_balance_from_transaction_string(string, balance_column)
click to toggle source
# File lib/ng-bank-parser/parsers/uba-pdf-parser/classes/transaction.rb, line 51 def set_balance_from_transaction_string(string, balance_column) @balance = string.get_first_line.extract_column(balance_column).remove_white_spaces.remove_commas.to_f end
set_date_from_transaction_string(string)
click to toggle source
# File lib/ng-bank-parser/parsers/uba-pdf-parser/classes/transaction.rb, line 34 def set_date_from_transaction_string(string) @date = Date.strptime(string.get_first_line.get_date_string, '%d-%m-%Y') end
set_ref()
click to toggle source
# File lib/ng-bank-parser/parsers/uba-pdf-parser/classes/transaction.rb, line 67 def set_ref @ref = '0' end
set_remarks_from_transaction_string(string, remarks_column)
click to toggle source
# File lib/ng-bank-parser/parsers/uba-pdf-parser/classes/transaction.rb, line 55 def set_remarks_from_transaction_string(string, remarks_column) @remarks ||= '' if string.lines.count == 1 @remarks = string.extract_column(remarks_column) elsif string.lines.count > 1 string.lines.each do |line| @remarks = @remarks.+ line.extract_column(remarks_column) end end @remarks = @remarks.reduce_to_singular_white_space end