ruby-oembed 0.8.3 → 0.8.5
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.
- data/.travis.yml +3 -0
- data/CHANGELOG.rdoc +11 -2
- data/Gemfile +3 -0
- data/Gemfile.lock +6 -0
- data/README.rdoc +2 -12
- data/lib/oembed/formatter/json/backends/yaml.rb +1 -1
- data/lib/oembed/formatter/xml/backends/nokogiri.rb +41 -0
- data/lib/oembed/formatter/xml/backends/xmlsimple.rb +1 -1
- data/lib/oembed/provider.rb +1 -1
- data/lib/oembed/provider_discovery.rb +8 -6
- data/lib/oembed/providers/embedly_urls.yml +49 -6
- data/lib/oembed/providers.rb +8 -1
- data/lib/oembed/version.rb +1 -1
- data/ruby-oembed.gemspec +23 -9
- data/spec/cassettes/OEmbed_ProviderDiscovery.yml +4058 -0
- data/spec/formatter/xml/nokogiri_backend_spec.rb +58 -0
- data/spec/provider_discovery_spec.rb +116 -0
- data/spec/provider_spec.rb +2 -1
- data/spec/spec_helper.rb +3 -2
- metadata +106 -100
data/.travis.yml
ADDED
data/CHANGELOG.rdoc
CHANGED
@@ -1,16 +1,25 @@
|
|
1
1
|
= CHANGELOG
|
2
2
|
|
3
|
+
== 0.8.5 - 14 November 2011
|
4
|
+
|
5
|
+
* Fixed problems ProviderDiscovery and some xml endpoints. Also added much better test coverage. (Marcos Wright Kuhns)
|
6
|
+
* Added support for XML parsing using {Nokogiri}[http://nokogiri.org/] (Marcos Wright Kuhns)
|
7
|
+
* Added built-in providers for MLG.TV (Matt Wilson)
|
8
|
+
* Added https support to the built-in YouTube provider (Marcos Wright Kuhns)
|
9
|
+
* Updated the list of {Embedly}[http://embed.ly] URL schemes. (Marcos Wright Kuhns)
|
10
|
+
|
3
11
|
== 0.8.3 - 26 June 2011
|
4
12
|
|
5
13
|
* Fixing a circular dependency introduced during my recent Jeweler upgrade. (Marcos Wright Kuhns)
|
6
14
|
|
7
15
|
== 0.8.2 - 25 June 2011
|
8
16
|
|
9
|
-
* Added built-in providers for Instagram, Slideshare and Yfrog
|
17
|
+
* Added built-in providers for Instagram, Slideshare and Yfrog (Florian Günther)
|
10
18
|
* Improved support (and error detection) for custom OEmbed::Formatter backends. (Marcos Wright Kuhns)
|
11
19
|
* DRYed up OEmbed::Formatter::JSON and XML methods into OEmbed::Formatter::Base (Marcos Wright Kuhns)
|
12
20
|
* More consistently raise an OEmbed::Parse error if there is any sort of problem parsing the server response, whether it's an expected error type or not. (Marcos Wright Kuhns)
|
13
|
-
* Added in-code comments about the
|
21
|
+
* Added in-code comments about the {OohEmbed}[http://oohembed.com] service becoming part of {Embedly}[http://embed.ly] (Marcos Wright Kuhns)
|
22
|
+
* Updated the list of {Embedly}[http://embed.ly] URL schemes. (Marcos Wright Kuhns)
|
14
23
|
|
15
24
|
== 0.8.1 - 27 February 2011
|
16
25
|
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -2,12 +2,14 @@ GEM
|
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
4
|
diff-lcs (1.1.2)
|
5
|
+
fakeweb (1.3.0)
|
5
6
|
git (1.2.5)
|
6
7
|
jeweler (1.6.2)
|
7
8
|
bundler (~> 1.0)
|
8
9
|
git (>= 1.2.5)
|
9
10
|
rake
|
10
11
|
json (1.5.3)
|
12
|
+
nokogiri (1.5.0)
|
11
13
|
rake (0.9.2)
|
12
14
|
rspec (2.6.0)
|
13
15
|
rspec-core (~> 2.6.0)
|
@@ -17,14 +19,18 @@ GEM
|
|
17
19
|
rspec-expectations (2.6.0)
|
18
20
|
diff-lcs (~> 1.1.2)
|
19
21
|
rspec-mocks (2.6.0)
|
22
|
+
vcr (1.11.3)
|
20
23
|
xml-simple (1.1.0)
|
21
24
|
|
22
25
|
PLATFORMS
|
23
26
|
ruby
|
24
27
|
|
25
28
|
DEPENDENCIES
|
29
|
+
fakeweb
|
26
30
|
jeweler
|
27
31
|
json
|
32
|
+
nokogiri
|
28
33
|
rake
|
29
34
|
rspec (>= 2.0)
|
35
|
+
vcr (~> 1.0)
|
30
36
|
xml-simple
|
data/README.rdoc
CHANGED
@@ -68,7 +68,7 @@ Code for the ruby-oembed library is {hosted on GitHub}[https://github.com/judofy
|
|
68
68
|
gem install bundler
|
69
69
|
bundle install
|
70
70
|
# Run the tests.
|
71
|
-
rake
|
71
|
+
bundle exec rake
|
72
72
|
|
73
73
|
If you encounter any bug, feel free to {create an Issue}[https://github.com/judofyr/ruby-oembed/issues].
|
74
74
|
|
@@ -78,17 +78,7 @@ We do our best to {keep our tests green}[http://travis-ci.org/metavida/ruby-oemb
|
|
78
78
|
|
79
79
|
= Contributors
|
80
80
|
|
81
|
-
Thanks to
|
82
|
-
|
83
|
-
* {Aris Bartee}[https://github.com/arisbartee]
|
84
|
-
* {Todd Fisher}[https://github.com/taf2]
|
85
|
-
* {Hans de Graff}[https://github.com/graaff]
|
86
|
-
* {Magnus Holm}[https://github.com/judofyr] (original author of this library)
|
87
|
-
* {Alex Kessinger}[https://github.com/voidfiles]
|
88
|
-
* {Ryan Richards}[https://github.com/rrichards]
|
89
|
-
* {Colin Shea}[https://github.com/evaryont]
|
90
|
-
* {Kyle Slattery}[https://github.com/kyleslattery]
|
91
|
-
* {Marcos Wright-Kuhns}[https://github.com/metavida] (current maintainer)
|
81
|
+
Thanks to {all who have made contributions}[https://github.com/judofyr/ruby-oembed/contributors] to this gem, both large and small.
|
92
82
|
|
93
83
|
= License
|
94
84
|
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# Only allow this backend the nokogiri gem is already loaded
|
2
|
+
raise ::LoadError, "The nokogiri library isn't available. require 'nokogiri'" unless defined?(Nokogiri)
|
3
|
+
|
4
|
+
module OEmbed
|
5
|
+
module Formatter
|
6
|
+
module XML
|
7
|
+
module Backends
|
8
|
+
# Use the nokogiri gem to parse XML values.
|
9
|
+
module Nokogiri
|
10
|
+
extend self
|
11
|
+
|
12
|
+
# Parses an XML string or IO and convert it into an object.
|
13
|
+
def decode(xml)
|
14
|
+
obj = {}
|
15
|
+
doc = ::Nokogiri::XML(xml) { |config| config.strict }
|
16
|
+
doc.root.elements.each do |el|
|
17
|
+
obj[el.name] = el.text
|
18
|
+
end
|
19
|
+
obj
|
20
|
+
rescue
|
21
|
+
case $!
|
22
|
+
when parse_error
|
23
|
+
raise $!
|
24
|
+
else
|
25
|
+
raise parse_error, "Couldn't parse the given document."
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def decode_fail_msg
|
30
|
+
"The version of the nokogiri library you have installed isn't parsing XML like ruby-oembed expected."
|
31
|
+
end
|
32
|
+
|
33
|
+
def parse_error
|
34
|
+
::Nokogiri::XML::SyntaxError
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
data/lib/oembed/provider.rb
CHANGED
@@ -140,7 +140,7 @@ module OEmbed
|
|
140
140
|
raise OEmbed::UnknownFormat, format
|
141
141
|
when Net::HTTPNotFound
|
142
142
|
raise OEmbed::NotFound, url
|
143
|
-
when Net::
|
143
|
+
when Net::HTTPSuccess
|
144
144
|
res.body
|
145
145
|
else
|
146
146
|
raise OEmbed::UnknownResponse, res && res.respond_to?(:code) ? res.code : 'Error'
|
@@ -34,22 +34,24 @@ module OEmbed
|
|
34
34
|
case res
|
35
35
|
when Net::HTTPNotFound
|
36
36
|
raise OEmbed::NotFound, url
|
37
|
-
when Net::
|
37
|
+
when Net::HTTPSuccess
|
38
38
|
format = options[:format]
|
39
39
|
|
40
40
|
if format.nil? || format == :json
|
41
|
-
provider_endpoint ||= /<link.*href=['"]*([^\s'"]+)['"]*.*application\/json\+oembed.*>/.match(res.body)
|
42
|
-
provider_endpoint ||= /<link.*application\/json\+oembed.*href=['"]*([^\s'"]+)['"]*.*>/.match(res.body)
|
41
|
+
provider_endpoint ||= /<link.*href=['"]*([^\s'"]+)['"]*.*application\/json\+oembed.*>/.match(res.body)[1] rescue nil
|
42
|
+
provider_endpoint ||= /<link.*application\/json\+oembed.*href=['"]*([^\s'"]+)['"]*.*>/.match(res.body)[1] rescue nil
|
43
43
|
format ||= :json if provider_endpoint
|
44
44
|
end
|
45
45
|
if format.nil? || format == :xml
|
46
|
-
|
47
|
-
|
46
|
+
# {The specification}[http://oembed.com/#section4] says XML discovery should have
|
47
|
+
# type="text/xml+oembed" but some providers use type="application/xml+oembed"
|
48
|
+
provider_endpoint ||= /<link.*href=['"]*([^\s'"]+)['"]*.*(application|text)\/xml\+oembed.*>/.match(res.body)[1] rescue nil
|
49
|
+
provider_endpoint ||= /<link.*(application|text)\/xml\+oembed.*href=['"]*([^\s'"]+)['"]*.*>/.match(res.body)[2] rescue nil
|
48
50
|
format ||= :xml if provider_endpoint
|
49
51
|
end
|
50
52
|
|
51
53
|
begin
|
52
|
-
provider_endpoint = URI.parse(provider_endpoint
|
54
|
+
provider_endpoint = URI.parse(provider_endpoint)
|
53
55
|
provider_endpoint.query = nil
|
54
56
|
provider_endpoint = provider_endpoint.to_s
|
55
57
|
rescue URI::Error
|
@@ -1,4 +1,4 @@
|
|
1
|
-
---
|
1
|
+
---
|
2
2
|
- http://*.bandcamp.com/
|
3
3
|
- http://*.bandcamp.com/album/*
|
4
4
|
- http://*.bandcamp.com/track/*
|
@@ -45,22 +45,27 @@
|
|
45
45
|
- http://*crackle.com/c/*
|
46
46
|
- http://*dribbble.com/shots/*
|
47
47
|
- http://*imgur.com/*
|
48
|
-
- http://*justin.tv/*
|
49
48
|
- http://*justin.tv/*/b/*
|
50
49
|
- http://*justin.tv/*/w/*
|
51
50
|
- http://*meetup.com/*
|
52
51
|
- http://*nfb.ca/film/*
|
53
52
|
- http://*revision3.com/*
|
54
53
|
- http://*revver.com/video/*
|
54
|
+
- http://*twitch.tv/*
|
55
|
+
- http://*twitch.tv/*
|
56
|
+
- http://*twitch.tv/*/b/*
|
55
57
|
- http://*twitvid.com/*
|
56
58
|
- http://*viddler.com/explore/*/videos/*
|
57
59
|
- http://*yfrog.*/*
|
58
60
|
- http://*youtube.com/watch*
|
59
61
|
- http://23hq.com/*/photo/*
|
62
|
+
- http://4sq.com/*
|
60
63
|
- http://99dollarmusicvideos.com/*/episode/*
|
61
64
|
- http://99dollarmusicvideos.com/episode/*
|
62
65
|
- http://abcnews.com/*/video/*
|
63
66
|
- http://abcnews.com/video/playerIndex*
|
67
|
+
- http://abcnews.go.com/*/video/*
|
68
|
+
- http://abcnews.go.com/video/playerIndex*
|
64
69
|
- http://achewood.com/*
|
65
70
|
- http://achewood.com/index.php*
|
66
71
|
- http://amzn.com/*
|
@@ -84,10 +89,12 @@
|
|
84
89
|
- http://blip.tv/*/*
|
85
90
|
- http://bnter.com/convo/*
|
86
91
|
- http://boo.fm/b*
|
92
|
+
- http://boston.com/*video*
|
87
93
|
- http://boston.com/video*
|
88
94
|
- http://brainbird.net/notice/*
|
89
95
|
- http://bravotv.com/*/*/videos/*
|
90
96
|
- http://brizzly.com/pic/*
|
97
|
+
- http://canalplus.fr/*
|
91
98
|
- http://cbsnews.com/video/watch/*
|
92
99
|
- http://channelfrederator.com/*/episode/*
|
93
100
|
- http://channelfrederator.com/episode/*
|
@@ -125,6 +132,7 @@
|
|
125
132
|
- http://formspring.me/*
|
126
133
|
- http://formspring.me/*/q/*
|
127
134
|
- http://fotopedia.com/*/*
|
135
|
+
- http://foursquare.com/*
|
128
136
|
- http://freemusicarchive.org/curator/*
|
129
137
|
- http://freemusicarchive.org/music/*
|
130
138
|
- http://funnyordie.com/m/*
|
@@ -136,6 +144,7 @@
|
|
136
144
|
- http://google.com/buzz/*
|
137
145
|
- http://google.com/buzz/*/*/*
|
138
146
|
- http://google.com/profiles/*
|
147
|
+
- http://graphicly.com/*/*/*
|
139
148
|
- http://grindtv.com/*/video/*
|
140
149
|
- http://grooveshark.com/*
|
141
150
|
- http://guardian.co.uk/*/video/*/*/*/*
|
@@ -159,6 +168,9 @@
|
|
159
168
|
- http://instagram.com/p/*
|
160
169
|
- http://investigation.discovery.com/videos/*
|
161
170
|
- http://issuu.com/*/docs/*
|
171
|
+
- http://itunes.apple.com/*
|
172
|
+
- http://lightbox.com/*
|
173
|
+
- http://link.brightcove.com/services/player/bcpid*
|
162
174
|
- http://liveleak.com/view?*
|
163
175
|
- http://lockerz.com/s/*
|
164
176
|
- http://logotv.com/video/*
|
@@ -170,20 +182,21 @@
|
|
170
182
|
- http://maps.google.com/maps?*
|
171
183
|
- http://meadd.com/*
|
172
184
|
- http://meadd.com/*/*
|
185
|
+
- http://media.photobucket.com/image/*
|
173
186
|
- http://mediamatters.org/mmtv/*
|
174
187
|
- http://meetu.ps/*
|
175
188
|
- http://military.discovery.com/videos/*
|
176
189
|
- http://mixergy.com/*
|
177
190
|
- http://mlkshk.com/p/*
|
178
191
|
- http://mobile.twitter.com/*/status/*
|
192
|
+
- http://mobile.twitter.com/*/status/*/photo/*
|
179
193
|
- http://mobile.twitter.com/*/statuses/*
|
194
|
+
- http://mobile.twitter.com/*/statuses/*/photo/*
|
180
195
|
- http://moby.to/*
|
181
196
|
- http://money.cnn.com/video/*
|
182
197
|
- http://movies.yahoo.com/movie/*/trailer
|
183
198
|
- http://movies.yahoo.com/movie/*/video
|
184
199
|
- http://movies.yahoo.com/movie/*/video/*
|
185
|
-
- http://msn.foxsports.com/video*
|
186
|
-
- http://multimedia.foxsports.com/m/video/*/*
|
187
200
|
- http://my.opera.com/*/albums/show.dml?id=*
|
188
201
|
- http://my.opera.com/*/albums/showpic.dml?album=*&picture=*
|
189
202
|
- http://myloc.me/*
|
@@ -194,6 +207,7 @@
|
|
194
207
|
- http://phodroid.com/*/*/*
|
195
208
|
- http://photozou.jp/photo/photo_only/*/*
|
196
209
|
- http://photozou.jp/photo/show/*/*
|
210
|
+
- http://pic.twitter.com/*
|
197
211
|
- http://picasaweb.google.com*/*/*
|
198
212
|
- http://picasaweb.google.com*/*/*#*
|
199
213
|
- http://picasaweb.google.com*/lh/photo/*
|
@@ -201,6 +215,7 @@
|
|
201
215
|
- http://pics.brizzly.com/*.jpg
|
202
216
|
- http://pikchur.com/*
|
203
217
|
- http://ping.fm/p/*
|
218
|
+
- http://pixorial.com/watch/*
|
204
219
|
- http://planetgreen.discovery.com/videos/*
|
205
220
|
- http://polldaddy.com/community/poll/*
|
206
221
|
- http://polldaddy.com/poll/*
|
@@ -244,6 +259,7 @@
|
|
244
259
|
- http://soundcloud.com/*/sets/*
|
245
260
|
- http://soundcloud.com/groups/*
|
246
261
|
- http://speakerdeck.com/u/*/p/*
|
262
|
+
- http://sports.yahoo.com/video/*
|
247
263
|
- http://statsheet.com/*/teams/*/*
|
248
264
|
- http://statsheet.com/statplot/charts/*/*/*/*
|
249
265
|
- http://statsheet.com/statplot/charts/e/*
|
@@ -252,6 +268,7 @@
|
|
252
268
|
- http://streetfire.net/video/*.htm*
|
253
269
|
- http://teachertube.com/viewVideo.php*
|
254
270
|
- http://techcrunch.tv/*/watch*
|
271
|
+
- http://techcrunch.tv/show/*/*
|
255
272
|
- http://techcrunch.tv/watch*
|
256
273
|
- http://theonion.com/video/*
|
257
274
|
- http://threadbanger.com/*/episode/*
|
@@ -276,7 +293,9 @@
|
|
276
293
|
- http://twitpic.com/photos/*
|
277
294
|
- http://twitrpix.com/*
|
278
295
|
- http://twitter.com/*/status/*
|
296
|
+
- http://twitter.com/*/status/*/photo/*
|
279
297
|
- http://twitter.com/*/statuses/*
|
298
|
+
- http://twitter.com/*/statuses/*/photo
|
280
299
|
- http://ultrakawaii.com/*/episode/*
|
281
300
|
- http://ultrakawaii.com/episode/*
|
282
301
|
- http://v.youku.com/v_playlist/*.html
|
@@ -299,6 +318,7 @@
|
|
299
318
|
- http://washingtonpost.com/wp-dyn/*/video/*/*/*/*
|
300
319
|
- http://wh.gov/photos-and-video/video/*
|
301
320
|
- http://wh.gov/video/*
|
321
|
+
- http://wirewax.com/*
|
302
322
|
- http://wordpress.tv/*/*/*/*/
|
303
323
|
- http://worldstarhiphop.com/videos/video*.php?v=*
|
304
324
|
- http://www.23hq.com/*/photo/*
|
@@ -317,9 +337,11 @@
|
|
317
337
|
- http://www.barelydigital.com/episode/*
|
318
338
|
- http://www.barelypolitical.com/*/episode/*
|
319
339
|
- http://www.barelypolitical.com/episode/*
|
340
|
+
- http://www.boston.com/*video*
|
320
341
|
- http://www.boston.com/video*
|
321
342
|
- http://www.bravotv.com/*/*/videos/*
|
322
343
|
- http://www.break.com/*/*
|
344
|
+
- http://www.canalplus.fr/*
|
323
345
|
- http://www.channelfrederator.com/*/episode/*
|
324
346
|
- http://www.channelfrederator.com/episode/*
|
325
347
|
- http://www.clikthrough.com/theater/video/*
|
@@ -346,6 +368,7 @@
|
|
346
368
|
- http://www.formspring.me/*
|
347
369
|
- http://www.formspring.me/*/q/*
|
348
370
|
- http://www.fotopedia.com/*/*
|
371
|
+
- http://www.foursquare.com/*
|
349
372
|
- http://www.freemusicarchive.org/curator/*
|
350
373
|
- http://www.freemusicarchive.org/music/*
|
351
374
|
- http://www.funnyordie.com/m/*
|
@@ -363,6 +386,7 @@
|
|
363
386
|
- http://www.guardian.co.uk/*/video/*/*/*/*
|
364
387
|
- http://www.hark.com/clips/*
|
365
388
|
- http://www.howcast.com/videos/*
|
389
|
+
- http://www.hulu.com/embed/*
|
366
390
|
- http://www.hulu.com/w/*
|
367
391
|
- http://www.hulu.com/watch*
|
368
392
|
- http://www.hungrynation.tv/*/episode/*
|
@@ -381,6 +405,7 @@
|
|
381
405
|
- http://www.last.fm/music/*/_/*
|
382
406
|
- http://www.last.fm/music/+images/*
|
383
407
|
- http://www.last.fm/music/+videos/*
|
408
|
+
- http://www.lightbox.com/*
|
384
409
|
- http://www.liveleak.com/view?*
|
385
410
|
- http://www.livestream.com/*
|
386
411
|
- http://www.logotv.com/video/*
|
@@ -393,8 +418,8 @@
|
|
393
418
|
- http://www.meinvz.net/l/*
|
394
419
|
- http://www.metacafe.com/w/*
|
395
420
|
- http://www.metacafe.com/watch/*
|
396
|
-
- http://www.metacdn.com/
|
397
|
-
- http://www.metacdn.com/
|
421
|
+
- http://www.metacdn.com/r/c/*/*
|
422
|
+
- http://www.metacdn.com/r/m/*/*
|
398
423
|
- http://www.mixcloud.com/*/*/
|
399
424
|
- http://www.mobypicture.com/user/*/view/*
|
400
425
|
- http://www.msnbc.msn.com/id/*/ns/*
|
@@ -408,6 +433,7 @@
|
|
408
433
|
- http://www.nzonscreen.com/title/*
|
409
434
|
- http://www.overstream.net/view.php?oid=*
|
410
435
|
- http://www.pastie.org/*
|
436
|
+
- http://www.pixorial.com/watch/*
|
411
437
|
- http://www.polleverywhere.com/free_text_polls/*
|
412
438
|
- http://www.polleverywhere.com/multiple_choice_polls/*
|
413
439
|
- http://www.polleverywhere.com/polls/*
|
@@ -489,11 +515,14 @@
|
|
489
515
|
- http://www.twitpic.com/photos/*
|
490
516
|
- http://www.twitter.com/*/status/*
|
491
517
|
- http://www.twitter.com/*/statuses/*
|
518
|
+
- http://www.twitter.com/*/statuses/*/photo/*
|
492
519
|
- http://www.ultrakawaii.com/*/episode/*
|
493
520
|
- http://www.ultrakawaii.com/episode/*
|
494
521
|
- http://www.ustream.tv/*
|
495
522
|
- http://www.ustream.tv/channel/*
|
496
523
|
- http://www.ustream.tv/recorded/*
|
524
|
+
- http://www.vevo.com/video/*
|
525
|
+
- http://www.vevo.com/watch/*
|
497
526
|
- http://www.vimeo.com/*
|
498
527
|
- http://www.vimeo.com/groups/*/videos/*
|
499
528
|
- http://www.vodcars.com/*/episode/*
|
@@ -506,6 +535,7 @@
|
|
506
535
|
- http://www.whosay.com/videos/*
|
507
536
|
- http://www.wikimedia.org/wiki/File*
|
508
537
|
- http://www.wikipedia.org/wiki/*
|
538
|
+
- http://www.wirewax.com/*
|
509
539
|
- http://www.worldstarhiphop.com/videos/video*.php?v=*
|
510
540
|
- http://www.xiami.com/song/*
|
511
541
|
- http://www.xkcd.com/*
|
@@ -522,14 +552,27 @@
|
|
522
552
|
- https://*youtube.com/watch*
|
523
553
|
- https://app.wistia.com/embed/medias/*
|
524
554
|
- https://crocodoc.com/*
|
555
|
+
- https://foursquare.com/*
|
556
|
+
- https://ganxy.com/*
|
525
557
|
- https://img.skitch.com/*
|
558
|
+
- https://itunes.apple.com/*
|
526
559
|
- https://mobile.twitter.com/*/status/*
|
560
|
+
- https://mobile.twitter.com/*/status/*/photo/*
|
527
561
|
- https://mobile.twitter.com/*/statuses/*
|
562
|
+
- https://mobile.twitter.com/*/statuses/*/photo/*
|
528
563
|
- https://skitch.com/*/*/*
|
529
564
|
- https://twitter.com/*/status/*
|
565
|
+
- https://twitter.com/*/status/*/photo/*
|
530
566
|
- https://twitter.com/*/statuses/*
|
567
|
+
- https://twitter.com/*/statuses/*/photo/*
|
568
|
+
- https://urtak.com/clr/*
|
569
|
+
- https://urtak.com/u/*
|
531
570
|
- https://www.facebook.com/photo.php*
|
532
571
|
- https://www.facebook.com/v/*
|
533
572
|
- https://www.facebook.com/video/video.php*
|
573
|
+
- https://www.foursquare.com/*
|
574
|
+
- https://www.ganxy.com/*
|
534
575
|
- https://www.twitter.com/*/status/*
|
576
|
+
- https://www.twitter.com/*/status/*/photo/*
|
535
577
|
- https://www.twitter.com/*/statuses/*
|
578
|
+
- https://www.twitter.com/*/statuses/*/photo/*
|
data/lib/oembed/providers.rb
CHANGED
@@ -115,10 +115,12 @@ module OEmbed
|
|
115
115
|
# Provider for youtube.com
|
116
116
|
# http://apiblog.youtube.com/2009/10/oembed-support.html
|
117
117
|
# To get the iframe embed code, instead of flash-based, pass
|
118
|
-
# :
|
118
|
+
# :iframe=>1 as a query in your get request.
|
119
119
|
Youtube = OEmbed::Provider.new("http://www.youtube.com/oembed")
|
120
120
|
Youtube << "http://*.youtube.com/*"
|
121
|
+
Youtube << "https://*.youtube.com/*"
|
121
122
|
Youtube << "http://*.youtu.be/*"
|
123
|
+
Youtube << "https://*.youtu.be/*"
|
122
124
|
|
123
125
|
# Provider for flickr.com
|
124
126
|
# http://developer.yahoo.com/blogs/ydn/posts/2008/05/oembed_embeddin/
|
@@ -167,6 +169,11 @@ module OEmbed
|
|
167
169
|
Yfrog = OEmbed::Provider.new("http://www.yfrog.com/api/oembed", :json)
|
168
170
|
Yfrog << "http://yfrog.com/*"
|
169
171
|
|
172
|
+
# provider for mlg-tv
|
173
|
+
# http://tv.majorleaguegaming.com/oembed
|
174
|
+
MlgTv = OEmbed::Provider.new("http://tv.majorleaguegaming.com/oembed")
|
175
|
+
MlgTv << "http://tv.majorleaguegaming.com/video/*"
|
176
|
+
MlgTv << "http://mlg.tv/video/*"
|
170
177
|
|
171
178
|
# pownce.com closed in 2008
|
172
179
|
#Pownce = OEmbed::Provider.new("http://api.pownce.com/2.1/oembed.{format}")
|
data/lib/oembed/version.rb
CHANGED
data/ruby-oembed.gemspec
CHANGED
@@ -4,20 +4,21 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "0.8.
|
7
|
+
s.name = "ruby-oembed"
|
8
|
+
s.version = "0.8.5"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Magnus Holm", "Alex Kessinger", "Aris Bartee", "Marcos Wright Kuhns"]
|
12
|
-
s.date =
|
13
|
-
s.description =
|
14
|
-
s.email =
|
12
|
+
s.date = "2011-11-15"
|
13
|
+
s.description = "An oEmbed consumer library written in Ruby, letting you easily get embeddable HTML representations of supported web pages, based on their URLs. See http://oembed.com for more information about the protocol."
|
14
|
+
s.email = "arisbartee@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE",
|
17
17
|
"README.rdoc"
|
18
18
|
]
|
19
19
|
s.files = [
|
20
20
|
".rvmrc",
|
21
|
+
".travis.yml",
|
21
22
|
".yardopts",
|
22
23
|
"CHANGELOG.rdoc",
|
23
24
|
"Gemfile",
|
@@ -36,6 +37,7 @@ Gem::Specification.new do |s|
|
|
36
37
|
"lib/oembed/formatter/json/backends/jsongem.rb",
|
37
38
|
"lib/oembed/formatter/json/backends/yaml.rb",
|
38
39
|
"lib/oembed/formatter/xml.rb",
|
40
|
+
"lib/oembed/formatter/xml/backends/nokogiri.rb",
|
39
41
|
"lib/oembed/formatter/xml/backends/rexml.rb",
|
40
42
|
"lib/oembed/formatter/xml/backends/xmlsimple.rb",
|
41
43
|
"lib/oembed/provider.rb",
|
@@ -52,24 +54,27 @@ Gem::Specification.new do |s|
|
|
52
54
|
"lib/tasks/oembed.rake",
|
53
55
|
"lib/tasks/rspec.rake",
|
54
56
|
"ruby-oembed.gemspec",
|
57
|
+
"spec/cassettes/OEmbed_ProviderDiscovery.yml",
|
55
58
|
"spec/formatter/ducktype_backend_spec.rb",
|
56
59
|
"spec/formatter/json/.DS_Store",
|
57
60
|
"spec/formatter/json/jsongem_backend_spec.rb",
|
58
61
|
"spec/formatter/json/yaml_backend_spec.rb",
|
62
|
+
"spec/formatter/xml/nokogiri_backend_spec.rb",
|
59
63
|
"spec/formatter/xml/rexml_backend_spec.rb",
|
60
64
|
"spec/formatter/xml/xmlsimple_backend_spec.rb",
|
61
65
|
"spec/formatter_spec.rb",
|
66
|
+
"spec/provider_discovery_spec.rb",
|
62
67
|
"spec/provider_spec.rb",
|
63
68
|
"spec/providers_spec.rb",
|
64
69
|
"spec/response_spec.rb",
|
65
70
|
"spec/spec_helper.rb"
|
66
71
|
]
|
67
|
-
s.homepage =
|
72
|
+
s.homepage = "http://github.com/judofyr/ruby-oembed"
|
68
73
|
s.licenses = ["MIT"]
|
69
|
-
s.rdoc_options = ["--main", "README.rdoc", "--title", "ruby-oembed-0.8.
|
74
|
+
s.rdoc_options = ["--main", "README.rdoc", "--title", "ruby-oembed-0.8.5", "--inline-source", "--exclude", "tasks", "CHANGELOG.rdoc"]
|
70
75
|
s.require_paths = ["lib"]
|
71
|
-
s.rubygems_version =
|
72
|
-
s.summary =
|
76
|
+
s.rubygems_version = "1.8.10"
|
77
|
+
s.summary = "oEmbed for Ruby"
|
73
78
|
|
74
79
|
if s.respond_to? :specification_version then
|
75
80
|
s.specification_version = 3
|
@@ -79,20 +84,29 @@ Gem::Specification.new do |s|
|
|
79
84
|
s.add_development_dependency(%q<rake>, [">= 0"])
|
80
85
|
s.add_development_dependency(%q<json>, [">= 0"])
|
81
86
|
s.add_development_dependency(%q<xml-simple>, [">= 0"])
|
87
|
+
s.add_development_dependency(%q<nokogiri>, [">= 0"])
|
82
88
|
s.add_development_dependency(%q<rspec>, [">= 2.0"])
|
89
|
+
s.add_development_dependency(%q<vcr>, ["~> 1.0"])
|
90
|
+
s.add_development_dependency(%q<fakeweb>, [">= 0"])
|
83
91
|
else
|
84
92
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
85
93
|
s.add_dependency(%q<rake>, [">= 0"])
|
86
94
|
s.add_dependency(%q<json>, [">= 0"])
|
87
95
|
s.add_dependency(%q<xml-simple>, [">= 0"])
|
96
|
+
s.add_dependency(%q<nokogiri>, [">= 0"])
|
88
97
|
s.add_dependency(%q<rspec>, [">= 2.0"])
|
98
|
+
s.add_dependency(%q<vcr>, ["~> 1.0"])
|
99
|
+
s.add_dependency(%q<fakeweb>, [">= 0"])
|
89
100
|
end
|
90
101
|
else
|
91
102
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
92
103
|
s.add_dependency(%q<rake>, [">= 0"])
|
93
104
|
s.add_dependency(%q<json>, [">= 0"])
|
94
105
|
s.add_dependency(%q<xml-simple>, [">= 0"])
|
106
|
+
s.add_dependency(%q<nokogiri>, [">= 0"])
|
95
107
|
s.add_dependency(%q<rspec>, [">= 2.0"])
|
108
|
+
s.add_dependency(%q<vcr>, ["~> 1.0"])
|
109
|
+
s.add_dependency(%q<fakeweb>, [">= 0"])
|
96
110
|
end
|
97
111
|
end
|
98
112
|
|