Sha256: ea726e148fd4eb90b6d10d2eee90ef533956d2170dbc188650c4161e00a6f51c
Contents?: true
Size: 879 Bytes
Versions: 2
Compression:
Stored size: 879 Bytes
Contents
require 'cgi' require 'time' require 'money' require 'structure' require 'peddler/parsers/xml' module Peddler module Parsers class Model < XML include Structure def boolean_at_xpath(path) !!text_at_xpath(path).match(/true|yes/i) end def float_at_xpath(path) str = text_at_xpath(path) str.to_f if str end def integer_at_xpath(path) str = text_at_xpath(path) str.to_i if str 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) str = text_at_xpath(path) Time.parse(CGI.unescape(str)) if str end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
peddler-0.6.5 | lib/peddler/parsers/model.rb |
peddler-0.6.4 | lib/peddler/parsers/model.rb |