class SaltParser::Swift::TransactionInfo
Attributes
account_holder[R]
account_number[R]
bank_code[R]
code[R]
details[R]
not_implemented_fields[R]
prima_nota[R]
text_key_extension[R]
transaction_description[R]
Public Class Methods
new(options)
click to toggle source
# File lib/swift/transaction_info.rb, line 8 def initialize(options) match_data = options[:content].match(/^(?<code>\d{3})(?<sub_fields>(?<seperator>.).*)$/) if match_data @code = match_data[:code].to_i details, account_holder = [], [] if seperator = match_data[:seperator] sub_fields = match_data[:sub_fields].scan(/#{Regexp.escape(seperator)}(\d{2})([^#{Regexp.escape(seperator)}]*)/) sub_fields.each do |(code, content)| case code.to_i when 0 @transaction_description = content when 10 @prima_nota = content when 20..29, 60..63 details << content when 30 @bank_code = content when 31 @account_number = content when 32..33 account_holder << content when 34 @text_key_extension = content else @not_implemented_fields ||= [] @not_implemented_fields << [code, content] end end end @details = details.join("\n") @account_holder = account_holder.join("\n") else @details = options[:content] end end
Public Instance Methods
to_hash()
click to toggle source
# File lib/swift/transaction_info.rb, line 47 def to_hash { :code => code, :transaction_description => transaction_description, :prima_nota => prima_nota, :details => details, :bank_code => bank_code, :account_number => account_number, :account_holder => account_holder, :text_key_extension => text_key_extension, :not_implemented_fields => not_implemented_fields } end