class DTA::Payments::Base
Public Class Methods
new(data = {})
click to toggle source
# File lib/payment_dta/payments/base.rb, line 9 def initialize(data = {}) @data = CharacterConversionHash[data] end
Public Instance Methods
account_to_be_debited()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 109 def account_to_be_debited @data[:account_to_be_debited].to_s.ljust(24) end
amount()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 125 def amount @data[:payment_amount] end
bank_payment_instructions()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 193 def bank_payment_instructions @data[:bank_payment_instructions].to_s.ljust(120) end
beneficiary_address(line_size=24)
click to toggle source
# File lib/payment_dta/payments/base.rb, line 153 def beneficiary_address(line_size=24) beneficiary_address_line1(line_size) + beneficiary_address_line2(line_size) + beneficiary_address_line3(line_size) + beneficiary_address_line4(line_size) end
beneficiary_address_line1(line_size=24)
click to toggle source
# File lib/payment_dta/payments/base.rb, line 157 def beneficiary_address_line1(line_size=24) @data[:beneficiary_address_line1].to_s.ljust(line_size)[0, line_size] end
beneficiary_address_line2(line_size=24)
click to toggle source
# File lib/payment_dta/payments/base.rb, line 161 def beneficiary_address_line2(line_size=24) @data[:beneficiary_address_line2].to_s.ljust(line_size)[0, line_size] end
beneficiary_address_line3(line_size=24)
click to toggle source
# File lib/payment_dta/payments/base.rb, line 165 def beneficiary_address_line3(line_size=24) @data[:beneficiary_address_line3].to_s.ljust(line_size)[0, line_size] end
beneficiary_address_line4(line_size=24)
click to toggle source
# File lib/payment_dta/payments/base.rb, line 169 def beneficiary_address_line4(line_size=24) @data[:beneficiary_address_line4].to_s.ljust(line_size)[0, line_size] end
beneficiary_bank_account_number()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 201 def beneficiary_bank_account_number "/C/#{@data[:beneficiary_bank_account_number].to_s}".ljust(24) end
beneficiary_bank_clearing_number()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 53 def beneficiary_bank_clearing_number @data[:beneficiary_bank_clearing_number].to_s.ljust(12,' ') end
beneficiary_iban_number()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 233 def beneficiary_iban_number @data[:beneficiary_iban_number].to_s.ljust(34) end
beneficiary_institution_address(line_size=24)
click to toggle source
# File lib/payment_dta/payments/base.rb, line 209 def beneficiary_institution_address(line_size=24) if identification_bank_address == 'A' @data[:beneficiarys_institution_swift_address_].to_s.ljust(24) + ''.ljust(72) else beneficiary_institution_address_line1 + beneficiary_institution_address_line2 + beneficiary_institution_address_line3 + beneficiary_institution_address_line4 end end
beneficiary_institution_address_line1()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 217 def beneficiary_institution_address_line1 @data[:beneficiary_institution_address_line1].to_s.ljust(24) end
beneficiary_institution_address_line2()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 221 def beneficiary_institution_address_line2 @data[:beneficiary_institution_address_line2].to_s.ljust(24) end
beneficiary_institution_address_line3()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 225 def beneficiary_institution_address_line3 @data[:beneficiary_institution_address_line3].to_s.ljust(24) end
beneficiary_institution_address_line4()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 229 def beneficiary_institution_address_line4 @data[:beneficiary_institution_address_line4].to_s.ljust(24) end
beneficiary_institution_bank_account_number()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 205 def beneficiary_institution_bank_account_number "/C/#{@data[:beneficiary_institution_bank_account_number]}".ljust(24) end
creation_date()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 61 def creation_date Date.today.strftime('%y%m%d') end
data_file_sender_identification()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 69 def data_file_sender_identification if @data[:data_file_sender_identification].nil? raise 'No file identification' else @data[:data_file_sender_identification] end end
entry_sequence_number()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 77 def entry_sequence_number @data[:entry_sequence_number].to_s.rjust(5,'0') end
entry_sequence_number=(entry_sequence_number)
click to toggle source
# File lib/payment_dta/payments/base.rb, line 81 def entry_sequence_number=(entry_sequence_number) @data[:entry_sequence_number] = entry_sequence_number end
header()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 45 def header @header ||= build_header end
identification_bank_address()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 197 def identification_bank_address @data[:identification_bank_address].to_s end
identification_purpose()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 237 def identification_purpose @data[:identification_purpose].to_s[0,1] end
issuer_identification()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 93 def issuer_identification @data[:issuer_identification].to_s end
ordering_party_bank_clearing_number()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 65 def ordering_party_bank_clearing_number @data[:ordering_party_bank_clearing_number].to_s.ljust(7,' ') end
ordering_partys_address(line_size=24)
click to toggle source
# File lib/payment_dta/payments/base.rb, line 133 def ordering_partys_address(line_size=24) ordering_partys_address_line1(line_size) + ordering_partys_address_line2(line_size) + ordering_partys_address_line3(line_size) + ordering_partys_address_line4(line_size) end
ordering_partys_address_line1(line_size = 24)
click to toggle source
# File lib/payment_dta/payments/base.rb, line 137 def ordering_partys_address_line1(line_size = 24) @data[:ordering_partys_address_line1].to_s.ljust(line_size) end
ordering_partys_address_line2(line_size = 24)
click to toggle source
# File lib/payment_dta/payments/base.rb, line 141 def ordering_partys_address_line2(line_size = 24) @data[:ordering_partys_address_line2].to_s.ljust(line_size) end
ordering_partys_address_line3(line_size = 24)
click to toggle source
# File lib/payment_dta/payments/base.rb, line 145 def ordering_partys_address_line3(line_size = 24) @data[:ordering_partys_address_line3].to_s.ljust(line_size) end
ordering_partys_address_line4(line_size = 24)
click to toggle source
# File lib/payment_dta/payments/base.rb, line 149 def ordering_partys_address_line4(line_size = 24) @data[:ordering_partys_address_line4].to_s.ljust(line_size) end
output_sequence_number()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 57 def output_sequence_number '00000' end
payment_amount()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 113 def payment_amount payment_amount_value_date + payment_amount_currency + payment_amount_value end
payment_amount_currency()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 121 def payment_amount_currency @data[:payment_amount_currency].to_s end
payment_amount_value(size=12)
click to toggle source
# File lib/payment_dta/payments/base.rb, line 129 def payment_amount_value(size=12) @data[:payment_amount].to_s.ljust(size).gsub('.', ',') end
payment_amount_value_date()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 117 def payment_amount_value_date ''.ljust(6) end
payment_type()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 85 def payment_type '1' end
processing_flag()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 89 def processing_flag '0' end
purpose()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 241 def purpose if identification_purpose == 'I' @data[:purpose_structured_reference_number].to_s.ljust(105) else @data[:purpose_line_1].to_s.ljust(35) + @data[:purpose_line_2].to_s.ljust(35) + @data[:purpose_line_3].to_s.ljust(35) end end
reason_for_payment_message(line_size=24)
click to toggle source
# File lib/payment_dta/payments/base.rb, line 173 def reason_for_payment_message(line_size=24) reason_for_payment_message_line1(line_size) + reason_for_payment_message_line2(line_size) + reason_for_payment_message_line3(line_size) + reason_for_payment_message_line4(line_size) end
reason_for_payment_message_line1(line_size=24)
click to toggle source
# File lib/payment_dta/payments/base.rb, line 177 def reason_for_payment_message_line1(line_size=24) @data[:reason_for_payment_message_line1].to_s.ljust(line_size) end
reason_for_payment_message_line2(line_size=24)
click to toggle source
# File lib/payment_dta/payments/base.rb, line 181 def reason_for_payment_message_line2(line_size=24) @data[:reason_for_payment_message_line2].to_s.ljust(line_size) end
reason_for_payment_message_line3(line_size=24)
click to toggle source
# File lib/payment_dta/payments/base.rb, line 185 def reason_for_payment_message_line3(line_size=24) @data[:reason_for_payment_message_line3].to_s.ljust(line_size) end
reason_for_payment_message_line4(line_size=24)
click to toggle source
# File lib/payment_dta/payments/base.rb, line 189 def reason_for_payment_message_line4(line_size=24) @data[:reason_for_payment_message_line4].to_s.ljust(line_size) end
record()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 41 def record @record ||= segment1 + segment2 + segment3 + segment4 + segment5 + segment6 end
reference_number()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 105 def reference_number issuer_identification + transaction_number end
requested_processing_date()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 49 def requested_processing_date @data[:requested_processing_date].to_s end
rule_of_charge()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 249 def rule_of_charge @data[:rule_of_charge].to_s[0,1] end
segment1()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 17 def segment1 @segment1 ||= build_segment1 end
segment2()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 21 def segment2 @segment2 ||= build_segment2 end
segment3()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 25 def segment3 @segment3 ||= build_segment3 end
segment4()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 29 def segment4 @segment4 ||= build_segment4 end
segment5()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 33 def segment5 @segment5 ||= build_segment5 end
segment6()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 37 def segment6 @segment6 ||= build_segment6 end
to_dta()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 13 def to_dta dta_string(record) end
transaction_number()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 97 def transaction_number (@transaction_number || @data[:transaction_number]).to_s.ljust(11,'0') end
transaction_number=(transaction_number)
click to toggle source
# File lib/payment_dta/payments/base.rb, line 101 def transaction_number=(transaction_number) @transaction_number = transaction_number end
Protected Instance Methods
build_header()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 279 def build_header requested_processing_date + beneficiary_bank_clearing_number + output_sequence_number + creation_date + ordering_party_bank_clearing_number + data_file_sender_identification + entry_sequence_number + transaction_type + payment_type + processing_flag end
build_segment1()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 255 def build_segment1 '01'+ header end
build_segment2()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 259 def build_segment2 '02' end
build_segment3()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 263 def build_segment3 '03' end
build_segment4()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 267 def build_segment4 '04' end
build_segment5()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 271 def build_segment5 '05' end
build_segment6()
click to toggle source
# File lib/payment_dta/payments/base.rb, line 275 def build_segment6 '06' end
reserve_field(length = 14)
click to toggle source
# File lib/payment_dta/payments/base.rb, line 283 def reserve_field(length = 14) ''.ljust(length) end