class CamtParser::Format052::Report
Public Class Methods
new(xml_data)
click to toggle source
# File lib/camt_parser/052/report.rb, line 4 def initialize(xml_data) @xml_data = xml_data end
parse(xml)
click to toggle source
# File lib/camt_parser/052/report.rb, line 61 def self.parse(xml) self.new Nokogiri::XML(xml).xpath('Report') end
Public Instance Methods
account()
click to toggle source
# File lib/camt_parser/052/report.rb, line 16 def account @account ||= CamtParser::Account.new(@xml_data.xpath('Acct').first) end
closing_balance()
click to toggle source
# File lib/camt_parser/052/report.rb, line 46 def closing_balance @closing_balance ||= begin bal = @xml_data.xpath('Bal/Tp//Cd[contains(text(), "CLBD")]').first.ancestors('Bal') date = bal.xpath('Dt/Dt/text()').text currency = bal.xpath('Amt').attribute('Ccy').value CamtParser::AccountBalance.new bal.xpath('Amt/text()').text, currency, date, true end end
Also aliased as: closing_or_intermediary_balance
entries()
click to toggle source
# File lib/camt_parser/052/report.rb, line 20 def entries @entries ||= @xml_data.xpath('Ntry').map{ |x| CamtParser::Entry.new(x) } end
from_date_time()
click to toggle source
# File lib/camt_parser/052/report.rb, line 28 def from_date_time @from_date_time ||= (x = @xml_data.xpath('FrToDt/FrDtTm')).empty? ? nil : Time.parse(x.first.content) end
generation_date()
click to toggle source
# File lib/camt_parser/052/report.rb, line 12 def generation_date @generation_date ||= Time.parse(@xml_data.xpath('CreDtTm/text()').text) end
identification()
click to toggle source
# File lib/camt_parser/052/report.rb, line 8 def identification @identification ||= @xml_data.xpath('Id/text()').text end
legal_sequence_number()
click to toggle source
# File lib/camt_parser/052/report.rb, line 24 def legal_sequence_number @legal_sequence_number ||= @xml_data.xpath('LglSeqNb/text()').text end
opening_balance()
click to toggle source
# File lib/camt_parser/052/report.rb, line 36 def opening_balance @opening_balance ||= begin bal = @xml_data.xpath('Bal/Tp//Cd[contains(text(), "PRCD")]').first.ancestors('Bal') date = bal.xpath('Dt/Dt/text()').text currency = bal.xpath('Amt').attribute('Ccy').value CamtParser::AccountBalance.new bal.xpath('Amt/text()').text, currency, date, true end end
Also aliased as: opening_or_intermediary_balance
source()
click to toggle source
# File lib/camt_parser/052/report.rb, line 57 def source @xml_data.to_s end
to_date_time()
click to toggle source
# File lib/camt_parser/052/report.rb, line 32 def to_date_time @to_date_time ||= (x = @xml_data.xpath('FrToDt/ToDtTm')).empty? ? nil : Time.parse(x.first.content) end