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 ADDED
@@ -0,0 +1,3 @@
1
+ rvm:
2
+ - 1.8.7
3
+ - 1.9.3
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 oohEmbed service becoming part of Embed.ly
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
@@ -5,5 +5,8 @@ group :development, :test do
5
5
  gem 'rake'
6
6
  gem 'json'
7
7
  gem 'xml-simple'
8
+ gem 'nokogiri'
8
9
  gem 'rspec', '>=2.0'
10
+ gem 'vcr', '~> 1.0'
11
+ gem 'fakeweb' # For use with vcr.
9
12
  end
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 specs
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 the following people for their contributions to this gem, both large and small:
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
 
@@ -15,7 +15,7 @@ module OEmbed
15
15
  json = json.read
16
16
  end
17
17
  YAML.load(convert_json_to_yaml(json))
18
- rescue ArgumentError
18
+ rescue ArgumentError, Psych::SyntaxError
19
19
  raise parse_error, "Invalid JSON string"
20
20
  end
21
21
 
@@ -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
@@ -14,7 +14,7 @@ module OEmbed
14
14
  if !xml.respond_to?(:read)
15
15
  xml = StringIO.new(xml)
16
16
  end
17
- ::XmlSimple.xml_in(xml, 'ForceArray'=>false)
17
+ ::XmlSimple.xml_in(xml, 'ForceArray'=>false)
18
18
  rescue
19
19
  case $!
20
20
  when parse_error
@@ -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::HTTPOK
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::HTTPOK
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
- provider_endpoint ||= /<link.*href=['"]*([^\s'"]+)['"]*.*application\/xml\+oembed.*>/.match(res.body)
47
- provider_endpoint ||= /<link.*application\/xml\+oembed.*href=['"]*([^\s'"]+)['"]*.*>/.match(res.body)
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 && provider_endpoint[1])
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/api/users/*/content/*
397
- - http://www.metacdn.com/api/users/*/media/*
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/*
@@ -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
- # :flash=>1 as a query in your get request.
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}")
@@ -2,7 +2,7 @@ module OEmbed
2
2
  class Version
3
3
  MAJOR = 0
4
4
  MINOR = 8
5
- PATCH = 3
5
+ PATCH = 5
6
6
  STRING = "#{MAJOR}.#{MINOR}.#{PATCH}"
7
7
 
8
8
  class << self
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 = %q{ruby-oembed}
8
- s.version = "0.8.3"
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 = %q{2011-06-26}
13
- s.description = %q{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 = %q{arisbartee@gmail.com}
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 = %q{http://github.com/judofyr/ruby-oembed}
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.3", "--inline-source", "--exclude", "tasks", "CHANGELOG.rdoc"]
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 = %q{1.4.2}
72
- s.summary = %q{oEmbed for Ruby}
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