Sha256: aa8b2c7435b1ea94d0cabbea40063bd07d00ad5f4cd7523591aa7e757ee7a02f
Contents?: true
Size: 908 Bytes
Versions: 1
Compression:
Stored size: 908 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) amount = float_at_xpath("#{path}/Amount") return unless amount currency_code = text_at_xpath("#{path}/CurrencyCode") 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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mws-orders-0.2.2 | lib/mws/orders/entity.rb |