48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
# File 'lib/acts_as_amazon_product.rb', line 48
def amazon
if self.amazon_product.nil?
asin = (self.respond_to?('amazon_asin')) ? self.send(self.amazon_asin) : nil
name = (self.respond_to?('amazon_name')) ? self.send(self.amazon_name) : nil
if !asin.nil? && asin.length > 0
res = Amazon::Ecs.item_lookup(self.send(self.amazon_asin), :response_group => 'Medium')
self.amazon_product =
AmazonProduct.new(:xml => res.doc.to_html, :asin => res.doc.at('itemattributes/isbn').inner_html)
self.amazon_product.save
elsif !name.nil? && name.length > 0
res = Amazon::Ecs.item_search(self.send(self.amazon_name), :response_group => 'Medium') res = res.doc.at('items/item')
self.amazon_product =
AmazonProduct.new(:xml => res.to_html, :asin => res.at('itemattributes/isbn').inner_html)
self.amazon_product.save
else
logger.error "No known attributes to search by"
end
end
self.amazon_product
end
|