onebox 1.5.7 → 1.5.8
Sign up to get free protection for your applications and to get access to all the features.
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
|