ruby-oembed 0.8.3 → 0.8.5

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