Class: Onebox::Engine::AmazonOnebox
Constant Summary
DEFAULT
Instance Attribute Summary
#errors, #options, #timeout, #uri
Instance Method Summary
collapse
#layout, max_text, #to_html
all_iframe_origins, engines, included, #initialize, origins_to_regexes, #placeholder_html, #to_html
Instance Method Details
#http_params ⇒ Object
43
44
45
46
47
|
# File 'lib/onebox/engine/amazon_onebox.rb', line 43
def http_params
if @options && @options[:user_agent]
{ 'User-Agent' => @options[:user_agent] }
end
end
|
#tld ⇒ Object
39
40
41
|
# File 'lib/onebox/engine/amazon_onebox.rb', line 39
def tld
@tld ||= @@matcher.match(@url)["tld"]
end
|
#url ⇒ Object
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/onebox/engine/amazon_onebox.rb', line 16
def url
@raw ||= nil
if !@raw && has_cached_body
@raw = Onebox::Helpers.fetch_html_doc(@url, http_params, body_cacher)
end
if @raw
canonical_link = @raw.at('//link[@rel="canonical"]/@href')
return canonical_link.to_s if canonical_link
end
if match && match[:id]
id = Addressable::URI.encode_component(match[:id], Addressable::URI::CharacterClasses::PATH)
return "https://www.amazon.#{tld}/dp/#{id}"
end
@url
end
|