Sha256: 235398b300e5b104464d33822d5ab9e915690d6f62c0a42e9f51d65551718bb3
Contents?: true
Size: 1.86 KB
Versions: 1
Compression:
Stored size: 1.86 KB
Contents
require 'money' module A2z module Responses class OfferSummary attr_accessor :lowest_new_price, :lowest_used_price, :total_new, :total_used, :total_collectible, :total_refurbished def initialize @lowest_new_price = Money.new(0, 'USD') @lowest_used_price = Money.new(0, 'USD') @total_new = 0 @total_used = 0 @total_collectible = 0 @total_refurbished = 0 end def lowest_new_price=(value) value = Money.new(value, 'USD') unless value.kind_of?(Money) @lowest_new_price = value end def lowest_used_price=(value) value = Money.new(value, 'USD') unless value.kind_of?(Money) @lowest_used_price = value end def total_new=(value) @total_new = value.to_i end def total_used=(value) @total_used = value.to_i end def total_collectible=(value) @total_collectible = value.to_i end def total_refurbished=(value) @total_refurbished = value.to_i end def self.from_response(data) new.tap do |offer_summary| if data['LowestNewPrice'] offer_summary.lowest_new_price = Money.new(data['LowestNewPrice']['Amount'].to_i, data['LowestNewPrice']['CurrencyCode']) end if data['LowestUsedPrice'] offer_summary.lowest_used_price = Money.new(data['LowestNewPrice']['Amount'].to_i, data['LowestNewPrice']['CurrencyCode']) end offer_summary.total_new = data['TotalNew'] offer_summary.total_used = data['TotalUsed'] offer_summary.total_collectible = data['TotalCollectible'] offer_summary.total_refurbished = data['TotalRefurbished'] offer_summary.freeze end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
a2z-0.1.1 | lib/a2z/responses/offer_summary.rb |