onebox 1.5.22 → 1.5.23
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.rb +1 -0
- data/lib/onebox/engine/imgur_onebox.rb +34 -0
- data/lib/onebox/engine/whitelisted_generic_onebox.rb +3 -4
- data/lib/onebox/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b94e9f549867048719ac4be58c7bfe8ac1f7add1
|
4
|
+
data.tar.gz: 101edaaae7ea70b7f62d36f5cf59220fcd35ab3b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 682207fa30191d21690b08ce72bb9dd74a1b969d01d698d42dc3b81a4bc88ac4194ba83a4831ff59acb7a48bd39554bf06dad88edeb1d33bdfcf817910e8df08
|
7
|
+
data.tar.gz: 2943b3d46a0abba088984ba14de5deaecf9daf7db7cf47d2165e37f72de05b2ab9203e6b58af7de05252b06f24faa2940f7f7e744b04fe1abd40e5c36460de46
|
data/lib/onebox/engine.rb
CHANGED
@@ -0,0 +1,34 @@
|
|
1
|
+
module Onebox
|
2
|
+
module Engine
|
3
|
+
class ImgurOnebox
|
4
|
+
include Engine
|
5
|
+
include StandardEmbed
|
6
|
+
|
7
|
+
matches_regexp(/^https?:\/\/.*imgur\.com/)
|
8
|
+
always_https
|
9
|
+
|
10
|
+
def to_html
|
11
|
+
imgur_data = get_imgur_data
|
12
|
+
return "<video width='#{imgur_data[:"player:width"]}' height='#{imgur_data[:"player:height"]}' controls autoplay loop><source src='#{imgur_data[:"player:stream"]}' type='video/mp4'></video>" if imgur_data[:"player:stream"]
|
13
|
+
return "<a href='#{url}' target='_blank'><img src='#{imgur_data[:image]}' alt='Imgur' height='#{imgur_data[:"image:height"]}' width='#{imgur_data[:"image:width"]}'></a>" if imgur_data[:image]
|
14
|
+
return "<a href='#{url}' target='_blank'><img src='#{imgur_data[:"image0:src"]}' alt='Imgur'></a>" if imgur_data[:"image0:src"]
|
15
|
+
return nil
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
def get_imgur_data
|
20
|
+
response = Onebox::Helpers.fetch_response(url)
|
21
|
+
html = Nokogiri::HTML(response.body)
|
22
|
+
imgur_data = {}
|
23
|
+
html.css('meta').each do |m|
|
24
|
+
if m.attribute('name') && m.attribute('name').to_s.match(/^twitter:/i)
|
25
|
+
m_content = m.attribute('content').to_s.strip
|
26
|
+
m_name = m.attribute('name').to_s.gsub('twitter:', '')
|
27
|
+
imgur_data[m_name.to_sym] = m_content
|
28
|
+
end
|
29
|
+
end
|
30
|
+
return imgur_data
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -63,7 +63,6 @@ module Onebox
|
|
63
63
|
ign.com
|
64
64
|
ikea.com
|
65
65
|
imdb.com
|
66
|
-
imgur.com
|
67
66
|
indiatimes.com
|
68
67
|
instagr.am
|
69
68
|
instagram.com
|
@@ -128,10 +127,10 @@ module Onebox
|
|
128
127
|
end
|
129
128
|
|
130
129
|
# Often using the `html` attribute is not what we want, like for some blogs that
|
131
|
-
# include the entire page HTML. However for some providers like
|
130
|
+
# include the entire page HTML. However for some providers like Flickr it allows us
|
132
131
|
# to return gifv and galleries.
|
133
132
|
def self.default_html_providers
|
134
|
-
['Flickr', '
|
133
|
+
['Flickr', 'Meetup']
|
135
134
|
end
|
136
135
|
|
137
136
|
def self.html_providers
|
@@ -152,7 +151,7 @@ module Onebox
|
|
152
151
|
end
|
153
152
|
|
154
153
|
def self.https_hosts
|
155
|
-
%w(slideshare.net
|
154
|
+
%w(slideshare.net dailymotion.com livestream.com)
|
156
155
|
end
|
157
156
|
|
158
157
|
def self.host_matches(uri, list)
|
data/lib/onebox/version.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.5.
|
4
|
+
version: 1.5.23
|
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-
|
13
|
+
date: 2015-08-05 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: multi_json
|
@@ -299,6 +299,7 @@ files:
|
|
299
299
|
- lib/onebox/engine/google_play_app_onebox.rb
|
300
300
|
- lib/onebox/engine/html.rb
|
301
301
|
- lib/onebox/engine/image_onebox.rb
|
302
|
+
- lib/onebox/engine/imgur_onebox.rb
|
302
303
|
- lib/onebox/engine/json.rb
|
303
304
|
- lib/onebox/engine/pubmed_onebox.rb
|
304
305
|
- lib/onebox/engine/soundcloud_onebox.rb
|
@@ -413,7 +414,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
413
414
|
version: '0'
|
414
415
|
requirements: []
|
415
416
|
rubyforge_project:
|
416
|
-
rubygems_version: 2.4.
|
417
|
+
rubygems_version: 2.4.3
|
417
418
|
signing_key:
|
418
419
|
specification_version: 4
|
419
420
|
summary: A gem for turning URLs into previews.
|