lib/a2z/responses/item.rb in a2z-0.1.0 vs lib/a2z/responses/item.rb in a2z-0.1.1

- old
+ new

@@ -2,17 +2,19 @@ module Responses class Item include Helpers attr_accessor :asin, :parent_asin, :detail_page_url, :links, :image_sets, - :small_image, :medium_image, :large_image, :editorial_reviews + :small_image, :medium_image, :large_image, :editorial_reviews, + :offers, :offer_summary def initialize @links = [] @attrs = {} @image_sets = {} @editorial_reviews = [] + @offers = [] end def keys @attrs.keys end @@ -53,11 +55,13 @@ item.small_image = Image.from_response(data['SmallImage']) if data['SmallImage'] item.medium_image = Image.from_response(data['MediumImage']) if data['MediumImage'] item.large_image = Image.from_response(data['LargeImage']) if data['LargeImage'] - if data['ItemLinks'] + item.offer_summary = OfferSummary.from_response(data['OfferSummary']) if data['OfferSummary'] + + if data['ItemLinks'] && data['ItemLinks']['ItemLink'] item_links = array_wrap(data['ItemLinks']['ItemLink']) item.links = item_links.collect { |link| ItemLink.from_response(link) } end if data['ItemAttributes'] @@ -73,9 +77,14 @@ end if data['EditorialReviews'] && data['EditorialReviews']['EditorialReview'] reviews = array_wrap(data['EditorialReviews']['EditorialReview']) item.editorial_reviews = reviews.collect { |review| EditorialReview.from_response(review) } + end + + if data['Offers'] && data['Offers']['Offer'] + offers = array_wrap(data['Offers']['Offer']) + item.offers = offers.collect { |offer| Offer.from_response(offer) } end item.freeze end end