onebox 1.3.2 → 1.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/onebox/engine/amazon_onebox.rb +6 -2
- data/lib/onebox/engine/standard_embed.rb +1 -1
- data/lib/onebox/engine/whitelisted_generic_onebox.rb +1 -0
- data/lib/onebox/engine/youtube_onebox.rb +1 -1
- data/lib/onebox/version.rb +1 -1
- data/spec/lib/onebox/engine/amazon_onebox_spec.rb +51 -0
- data/spec/spec_helper.rb +0 -5
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 977d0987e9df9956d13b5fd9b4ea2836970950cc
|
4
|
+
data.tar.gz: a41dccd090afb43672b7569a9fc6d0b9cb514839
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 95c60583f27f77785ebcd5727a73d374383bded0639dfeb51812ef08a04733aaa720737ca589be7c36f23075a705b56bf9220d797b2a3c3f218b335fa7b18b07
|
7
|
+
data.tar.gz: f5ab7b01db74e545f60623e964344a52a68c8574a7b6aa7962ad3b44edd0716bf9c7f2b2e23e10ace38ab86157fca8b8c48fd14ecf9ab32669e9be179cdd1c98
|
@@ -6,13 +6,17 @@ module Onebox
|
|
6
6
|
include HTML
|
7
7
|
|
8
8
|
|
9
|
-
matches_regexp(/^http:\/\/(?:www)\.amazon\.(com|ca)
|
9
|
+
matches_regexp(/^http:\/\/(?:www)\.amazon\.(?<tld>com|ca|de|it|es|fr|co\.jp|co\.uk|cn|in|com\.br)\//)
|
10
10
|
|
11
11
|
def url
|
12
|
-
return "http://www.amazon
|
12
|
+
return "http://www.amazon.#{tld}/gp/aw/d/" + URI::encode(match[:id]) if match && match[:id]
|
13
13
|
@url
|
14
14
|
end
|
15
15
|
|
16
|
+
def tld
|
17
|
+
@tld || @@matcher.match(@url)["tld"]
|
18
|
+
end
|
19
|
+
|
16
20
|
def http_params
|
17
21
|
{'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'}
|
18
22
|
end
|
@@ -32,7 +32,7 @@ module Onebox
|
|
32
32
|
private
|
33
33
|
|
34
34
|
def parse_open_graph(html, url)
|
35
|
-
og = Struct.new(:url, :type, :title, :description, :images, :metadata).new
|
35
|
+
og = Struct.new(:url, :type, :title, :description, :images, :metadata, :html).new
|
36
36
|
og.url = url
|
37
37
|
og.images = []
|
38
38
|
og.metadata = {}
|
@@ -30,7 +30,7 @@ module Onebox
|
|
30
30
|
html = "<iframe width=\"480\" height=\"270\" src=\"https://www.youtube.com/embed/#{video_id}?feature=oembed\" frameborder=\"0\" allowfullscreen></iframe>"
|
31
31
|
else
|
32
32
|
# Fall back to making HTTP requests.
|
33
|
-
html = raw[:html]
|
33
|
+
html = raw[:html] || ""
|
34
34
|
end
|
35
35
|
|
36
36
|
rewrite_agnostic(append_params(html))
|
data/lib/onebox/version.rb
CHANGED
@@ -9,6 +9,57 @@ describe Onebox::Engine::AmazonOnebox do
|
|
9
9
|
include_context "engines"
|
10
10
|
it_behaves_like "an engine"
|
11
11
|
|
12
|
+
describe "works with international domains" do
|
13
|
+
|
14
|
+
def check_link(tdl, link)
|
15
|
+
onebox_cls = Onebox::Matcher.new(link).oneboxed
|
16
|
+
expect(onebox_cls).to_not be(nil)
|
17
|
+
expect(onebox_cls.new(link).url).to include("http://www.amazon.#{tdl}")
|
18
|
+
end
|
19
|
+
|
20
|
+
it "matches canadian domains" do
|
21
|
+
resp = check_link("ca", "http://www.amazon.ca/Too-Much-Happiness-Alice-Munro-ebook/dp/B0031TZ98K/")
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
it "matches german domains" do
|
26
|
+
check_link("de", "http://www.amazon.de/Buddenbrooks-Verfall-einer-Familie-Roman/dp/3596294312/")
|
27
|
+
end
|
28
|
+
|
29
|
+
it "matches uk domains" do
|
30
|
+
check_link("co.uk", "http://www.amazon.co.uk/Pygmalion-George-Bernard-Shaw/dp/1420925237/")
|
31
|
+
end
|
32
|
+
|
33
|
+
it "matches japanese domains" do
|
34
|
+
check_link("co.jp", "http://www.amazon.co.jp/%E9%9B%AA%E5%9B%BD-%E6%96%B0%E6%BD%AE%E6%96%87%E5%BA%AB-%E3%81%8B-1-1-%E5%B7%9D%E7%AB%AF-%E5%BA%B7%E6%88%90/dp/4101001014/")
|
35
|
+
end
|
36
|
+
|
37
|
+
it "matches chinese domains" do
|
38
|
+
check_link("cn", "http://www.amazon.cn/%E5%AD%99%E5%AD%90%E5%85%B5%E6%B3%95-%E5%AD%99%E8%86%91%E5%85%B5%E6%B3%95-%E5%AD%99%E6%AD%A6/dp/B0011C40FC/")
|
39
|
+
end
|
40
|
+
|
41
|
+
it "matches french domains" do
|
42
|
+
check_link("fr", "http://www.amazon.fr/Les-Mots-autres-%C3%A9crits-autobiographiques/dp/2070114147/")
|
43
|
+
end
|
44
|
+
|
45
|
+
it "matches italian domains" do
|
46
|
+
check_link("it", "http://www.amazon.it/Tutte-poesie-Salvatore-Quasimodo/dp/8804520477/")
|
47
|
+
end
|
48
|
+
|
49
|
+
it "matches spanish domains" do
|
50
|
+
check_link("es", "http://www.amazon.es/familia-Pascual-Duarte-Camilo-Jos%C3%A9-ebook/dp/B00EJRTKTW/")
|
51
|
+
end
|
52
|
+
|
53
|
+
it "matches brasilian domains" do
|
54
|
+
check_link("com.br", "http://www.amazon.com.br/A-p%C3%A1tria-chuteiras-Nelson-Rodrigues-ebook/dp/B00J2B414Y/")
|
55
|
+
end
|
56
|
+
|
57
|
+
it "matches indian domains" do
|
58
|
+
check_link("in", "http://www.amazon.in/Fireflies-Rabindranath-Tagore/dp/9381523169/")
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
62
|
+
|
12
63
|
describe "#to_html" do
|
13
64
|
it "includes image" do
|
14
65
|
expect(html).to include("img")
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: onebox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joanna Zeta
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2014-
|
13
|
+
date: 2014-05-08 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: multi_json
|