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