onebox 1.5.7 → 1.5.8
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
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0ee3ee949d6acccb2fde3909408b020bbc1795ea
|
|
4
|
+
data.tar.gz: d34818d55947c38f9b2d89ba23f27b382e3f77de
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2908ef091a88899845f40c9e89457017303c065c02ad116a5f48f4989450876fd46fb8efb9f49b492133e5d7b0ba8cd781e99176a1ca116dc9cb9a54a6bd5f17
|
|
7
|
+
data.tar.gz: c02f95a6d4cf36f5692a81353c398ddf984b6cf9b5b2cdb9f3de2a18696752d1c7ffd28c0c0558e2652c2271833183e656ddd48d851924ccd145375f32133f12
|
|
@@ -124,6 +124,21 @@ module Onebox
|
|
|
124
124
|
zillow.com)
|
|
125
125
|
end
|
|
126
126
|
|
|
127
|
+
# Often using the `html` attribute is not what we want, like for some blogs that
|
|
128
|
+
# include the entire page HTML. However for some providers like Imgur it allows us
|
|
129
|
+
# to return gifv and galleries.
|
|
130
|
+
def self.default_html_providers
|
|
131
|
+
['Imgur']
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
def self.html_providers
|
|
135
|
+
@html_providers ||= default_html_providers.dup
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
def self.html_providers=(new_provs)
|
|
139
|
+
@html_providers = new_provs
|
|
140
|
+
end
|
|
141
|
+
|
|
127
142
|
# A re-written URL coverts https:// -> // - it is useful on HTTPS sites that embed
|
|
128
143
|
# youtube for example
|
|
129
144
|
def self.rewrites
|
|
@@ -178,11 +193,22 @@ module Onebox
|
|
|
178
193
|
html
|
|
179
194
|
end
|
|
180
195
|
|
|
196
|
+
def html_type?
|
|
197
|
+
return data &&
|
|
198
|
+
data[:html] &&
|
|
199
|
+
(
|
|
200
|
+
(data[:html] =~ /iframe/) ||
|
|
201
|
+
WhitelistedGenericOnebox.html_providers.include?(data[:provider_name])
|
|
202
|
+
)
|
|
203
|
+
end
|
|
204
|
+
|
|
181
205
|
def generic_html
|
|
182
|
-
return data[:html] if
|
|
206
|
+
return data[:html] if html_type?
|
|
183
207
|
return layout.to_html if article_type?
|
|
184
208
|
return html_for_video(data[:video]) if data[:video]
|
|
209
|
+
|
|
185
210
|
return image_html if photo_type?
|
|
211
|
+
|
|
186
212
|
return nil unless data[:title]
|
|
187
213
|
layout.to_html
|
|
188
214
|
end
|
data/lib/onebox/version.rb
CHANGED
|
@@ -28,6 +28,24 @@ describe Onebox::Engine::WhitelistedGenericOnebox do
|
|
|
28
28
|
end
|
|
29
29
|
end
|
|
30
30
|
|
|
31
|
+
describe 'html_providers' do
|
|
32
|
+
class HTMLOnebox < Onebox::Engine::WhitelistedGenericOnebox
|
|
33
|
+
def data
|
|
34
|
+
{html: 'cool html',
|
|
35
|
+
provider_name: 'CoolSite'}
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
it "doesn't return the HTML when not in the `html_providers`" do
|
|
40
|
+
Onebox::Engine::WhitelistedGenericOnebox.html_providers = []
|
|
41
|
+
HTMLOnebox.new("http://coolsite.com").to_html.should be_nil
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
it "returns the HMTL when in the `html_providers`" do
|
|
45
|
+
Onebox::Engine::WhitelistedGenericOnebox.html_providers = ['CoolSite']
|
|
46
|
+
HTMLOnebox.new("http://coolsite.com").to_html.should == "cool html"
|
|
47
|
+
end
|
|
48
|
+
end
|
|
31
49
|
|
|
32
50
|
describe 'rewrites' do
|
|
33
51
|
class DummyOnebox < Onebox::Engine::WhitelistedGenericOnebox
|
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.5.
|
|
4
|
+
version: 1.5.8
|
|
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: 2015-01-
|
|
13
|
+
date: 2015-01-22 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: multi_json
|