class Compactor::Amazon::XmlParser

Attributes

calculated_total[R]
expected_total[R]

Public Class Methods

new(xml) click to toggle source
# File lib/compactor/xml_parser.rb, line 5
def initialize(xml)
  calculate(Nokogiri::XML::Document.parse(xml))
end

Public Instance Methods

valid?() click to toggle source
# File lib/compactor/xml_parser.rb, line 9
def valid?
  (expected_total.abs - calculated_total.abs).abs < 0.009
end

Private Instance Methods

calculate(doc) click to toggle source
# File lib/compactor/xml_parser.rb, line 15
def calculate(doc)
  @expected_total = doc.xpath("//TotalAmount").text.to_f
  @calculated_total = 0.0
  doc.xpath("//Amount").each { |t| @calculated_total += t.text.to_f }
end