class UnionBank::ECrediting::TransactionFile::DetailLine

Describes UnionBank's eCrediting Transaction File's detail line

Constants

AMOUNT_RANGE

Attributes

amount[RW]
payee_id[RW]
ref_number[RW]
ref_values[RW]

Public Class Methods

new(payee_id:, ref_number:, amount:, ref_values: []) click to toggle source

@param [String] payee_id @param [Integer] ref_number @param [BigDecimal] amount @param [Array] ref_values

# File lib/union_bank/e_crediting/transaction_file/detail_line.rb, line 29
def initialize(payee_id:, ref_number:, amount:, ref_values: [])
  @payee_id = payee_id
  @ref_number = ref_number
  @amount = BigDecimal(amount.to_s)
  @ref_values = ref_values

  raise ArgumentError, errors.full_messages.to_sentence unless valid?
end

Public Instance Methods

ordered_field_values() click to toggle source

@return [Array]

# File lib/union_bank/e_crediting/transaction_file/detail_line.rb, line 39
def ordered_field_values
  [
    "D",                  # identifier
    payee_id,
    ref_number,
    formatted_amount,
  ] + ref_values
end

Private Instance Methods

formatted_amount() click to toggle source
# File lib/union_bank/e_crediting/transaction_file/detail_line.rb, line 50
def formatted_amount
  "%012d" % (amount * BigDecimal("100"))
end