Sha256: d2b7f4149065991e4c82c61321787f02aa8175ea4108e9d4fbda9ef2caa15e6c
Contents?: true
Size: 901 Bytes
Versions: 3
Compression:
Stored size: 901 Bytes
Contents
require "cgi" require "time" require "money" require "structure" require "mws/orders/document" module MWS module Orders class Entity < Document include Structure def float_at_xpath(path) text = text_at_xpath(path) text.to_f if text end def integer_at_xpath(path) text = text_at_xpath(path) text.to_i if text end def money_at_xpath(path) return unless amount = float_at_xpath("#{path}/Amount") currency_code = text_at_xpath("#{path}/CurrencyCode") amount = amount * 100 unless currency_code == "JPY" Money.new(amount, currency_code) end def time_at_xpath(path) text = text_at_xpath(path) Time.parse(CGI.unescape(text)) if text end def text_at_xpath(path) node = xpath(path).first node.text.strip if node end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
mws-orders-0.2.1 | lib/mws/orders/entity.rb |
mws-orders-0.2.0 | lib/mws/orders/entity.rb |
mws-orders-0.1.1 | lib/mws/orders/entity.rb |