class Cmxl::Fields::TransactionSupplementary

Attributes

charges[RW]
initial[RW]
source[RW]

Public Class Methods

charges_parser() click to toggle source
# File lib/cmxl/fields/transaction_supplementary.rb, line 17
def charges_parser
  %r{((?:\/CHGS\/)(?<charges>[a-zA-Z]{3}[\d,]{1,15}))}
end
initial_parser() click to toggle source
# File lib/cmxl/fields/transaction_supplementary.rb, line 13
def initial_parser
  %r{((?:\/OCMT\/)(?<initial>[a-zA-Z]{3}[\d,]{1,15}))}
end
new(line, initial, charges) click to toggle source
# File lib/cmxl/fields/transaction_supplementary.rb, line 22
def initialize(line, initial, charges)
  self.source = line
  self.initial = initial
  self.charges = charges
end
parse(line) click to toggle source
# File lib/cmxl/fields/transaction_supplementary.rb, line 7
def parse(line)
  initial = Regexp.last_match(1) if line && line.match(initial_parser)
  charges = Regexp.last_match(1) if line && line.match(charges_parser)
  new(line, initial, charges)
end

Public Instance Methods

charges_currency() click to toggle source
# File lib/cmxl/fields/transaction_supplementary.rb, line 40
def charges_currency
  charges[0..2] if charges
end
charges_in_cents() click to toggle source
# File lib/cmxl/fields/transaction_supplementary.rb, line 36
def charges_in_cents
  to_amount_in_cents(charges[3..-1]) if charges
end
initial_amount_in_cents() click to toggle source
# File lib/cmxl/fields/transaction_supplementary.rb, line 28
def initial_amount_in_cents
  to_amount_in_cents(initial[3..-1]) if initial
end
initial_currency() click to toggle source
# File lib/cmxl/fields/transaction_supplementary.rb, line 32
def initial_currency
  initial[0..2] if initial
end
to_h() click to toggle source
# File lib/cmxl/fields/transaction_supplementary.rb, line 44
def to_h
  {
    source: source,
    initial_amount_in_cents: initial_amount_in_cents,
    initial_currency: initial_currency,
    charges_in_cents: charges_in_cents,
    charges_currency: charges_currency
  }
end
Also aliased as: to_hash
to_hash()
Alias for: to_h