class MT940::Triodos
Private Instance Methods
bic_code?(text)
click to toggle source
# File lib/mt940/banks/triodos.rb, line 19 def bic_code?(text) MT940::BIC_CODES.values.include?(text) end
extract_description(text)
click to toggle source
# File lib/mt940/banks/triodos.rb, line 23 def extract_description(text) identifier = sepa?(text) ? 22 : 20 description = '' text.each do |k,v| description += v if k.to_i >= identifier && k.to_i < 30 end description end
hashify_description(description)
click to toggle source
# File lib/mt940/banks/triodos.rb, line 32 def hashify_description(description) hash = {} description.split('>').compact.each do |slice| next if slice.empty? hash[slice[0..1]] = slice[2..-1] end hash end
parse_tag_86()
click to toggle source
# File lib/mt940/banks/triodos.rb, line 5 def parse_tag_86 if @line.match(/^:86:000(.*)$/) processed_description = hashify_description($1) @transaction.contra_account = if sepa?(processed_description) processed_description['21'] else processed_description['10'][/[^0+]\d*/] end @transaction.description = extract_description(processed_description) end end
sepa?(text)
click to toggle source
# File lib/mt940/banks/triodos.rb, line 41 def sepa?(text) text['10'] == '0000000000' end