Sha256: 962cfc8ebd168cbb5e6d1687badd4a4c5f40a33e9bc101eecb4040ff1f70128c
Contents?: true
Size: 1.33 KB
Versions: 3
Compression:
Stored size: 1.33 KB
Contents
module Onebox module Engine class AmazonOnebox include Engine include LayoutSupport include HTML matches_regexp(/^http:\/\/(?:www)\.amazon\.(com|ca)/) def url return "http://www.amazon.com/gp/aw/d/" + URI::encode(match[:id]) if match && match[:id] @url end def http_params {'User-Agent' => 'Mozilla/5.0 (iPhone; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3'} end private def match @match ||= @url.match(/(?:d|g)p\/(?:product\/)?(?<id>[^\/]+)(?:\/|$)/mi) end def image case when raw.css("#main-image").any? raw.css("#main-image").first["src"] when raw.css("#landingImage").any? raw.css("#landingImage").first["src"] end end def data result = { link: link, title: raw.css("h1").inner_text, image: image, price: raw.css(".priceLarge").inner_text } result[:by_info] = raw.at("#by-line") result[:by_info] = Onebox::Helpers.clean(result[:by_info].inner_html) if result[:by_info] summary = raw.at("#about-item span") result[:description] = summary.inner_html if summary result end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
onebox-1.3.2 | lib/onebox/engine/amazon_onebox.rb |
onebox-1.3.1 | lib/onebox/engine/amazon_onebox.rb |
onebox-1.3.0 | lib/onebox/engine/amazon_onebox.rb |