ruby-oembed 0.10.0 → 0.13.1

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.
@@ -1,12 +1,5 @@
1
1
  require File.dirname(__FILE__) + '/spec_helper'
2
2
  require 'json'
3
- require 'vcr'
4
-
5
- VCR.config do |c|
6
- c.default_cassette_options = { :record => :new_episodes }
7
- c.cassette_library_dir = 'spec/cassettes'
8
- c.stub_with :fakeweb
9
- end
10
3
 
11
4
  describe OEmbed::ProviderDiscovery do
12
5
  before(:all) do
@@ -31,8 +24,8 @@ describe OEmbed::ProviderDiscovery do
31
24
  :json,
32
25
  ],
33
26
  'vimeo' => [
34
- 'http://vimeo.com/27953845',
35
- {:json=>'http://vimeo.com/api/oembed.json', :xml=>'http://vimeo.com/api/oembed.xml'},
27
+ 'https://vimeo.com/27953845',
28
+ {:json=>'https://vimeo.com/api/oembed.json', :xml=>'https://vimeo.com/api/oembed.xml'},
36
29
  :json,
37
30
  ],
38
31
  'facebook-photo' => [
@@ -45,12 +38,7 @@ describe OEmbed::ProviderDiscovery do
45
38
  'https://www.tumblr.com/oembed/1.0',
46
39
  :json
47
40
  ],
48
- 'noteflight' => [
49
- 'http://www.noteflight.com/scores/view/09665392c94475f65dfaf5f30aadb6ed0921939d',
50
- {:json=>'http://www.noteflight.com/services/oembed', :xml=>'http://www.noteflight.com/services/oembed'},
51
- :json,
52
- ],
53
- # TODO: Enhance ProviderDiscovery to support arbitrary query parameters. See https://github.com/judofyr/ruby-oembed/issues/15
41
+ # TODO: Enhance ProviderDiscovery to support arbitrary query parameters. See https://github.com/ruby-oembed/ruby-oembed/issues/15
54
42
  #'wordpress' => [
55
43
  # 'http://sweetandweak.wordpress.com/2011/09/23/nothing-starts-the-morning-like-a-good-dose-of-panic/',
56
44
  # {:json=>'https://public-api.wordpress.com/oembed/1.0/', :xml=>'https://public-api.wordpress.com/oembed/1.0/'},
@@ -1,11 +1,4 @@
1
1
  require File.dirname(__FILE__) + '/spec_helper'
2
- require 'vcr'
3
-
4
- VCR.config do |c|
5
- c.default_cassette_options = { :record => :new_episodes }
6
- c.cassette_library_dir = 'spec/cassettes'
7
- c.stub_with :fakeweb
8
- end
9
2
 
10
3
  describe OEmbed::Provider do
11
4
  before(:all) do
@@ -274,37 +267,30 @@ describe OEmbed::Provider do
274
267
  @vimeo_ssl << "http://*.vimeo.com/*"
275
268
  @vimeo_ssl << "https://*.vimeo.com/*"
276
269
 
277
- expect {
278
- res = @vimeo_ssl.send(:raw, example_url(:vimeo_ssl))
279
- expect(res).to eq(example_body(:vimeo_ssl))
280
- }.not_to raise_error
270
+ res = @vimeo_ssl.send(:raw, example_url(:vimeo_ssl))
271
+ expect(res).to eq(example_body(:vimeo_ssl).strip)
281
272
  end
282
273
 
283
274
  it "should raise an UnknownFormat error on 501" do
284
- # Note: This test relies on a custom-written VCR response in the
285
- # cassettes/OEmbed_Provider.yml file.
275
+ stub_request(:get, /flickr/).to_return(status: 501)
286
276
 
287
277
  expect {
288
- @flickr.send(:raw, File.join(example_url(:flickr), '501'))
278
+ result = @flickr.send(:raw, File.join(example_url(:flickr), '501'))
289
279
  }.to raise_error(OEmbed::UnknownFormat)
290
280
  end
291
281
 
292
282
  it "should raise a NotFound error on 404" do
293
- # Note: This test relies on a custom-written VCR response in the
294
- # cassettes/OEmbed_Provider.yml file.
283
+ stub_request(:get, /flickr/).to_return(status: 404)
295
284
 
296
285
  expect {
297
286
  @flickr.send(:raw, File.join(example_url(:flickr), '404'))
298
287
  }.to raise_error(OEmbed::NotFound)
299
288
  end
300
289
 
301
- it "should raise an UnknownResponse error on other responses" do
302
- # Note: This test relies on a custom-written VCR response in the
303
- # cassettes/OEmbed_Provider.yml file.
304
-
305
- statuses_to_check = ['405', '500']
290
+ ['405', '500'].each do |status|
291
+ it "should raise an UnknownResponse error on other responses (#{status})" do
292
+ stub_request(:get, /flickr/).to_return(status: status)
306
293
 
307
- statuses_to_check.each do |status|
308
294
  expect {
309
295
  @flickr.send(:raw, File.join(example_url(:flickr), status))
310
296
  }.to raise_error(OEmbed::UnknownResponse)
@@ -371,7 +357,7 @@ describe OEmbed::Provider do
371
357
  @viddler.get(example_url(:viddler))
372
358
  end
373
359
 
374
- it "handles the :timeout option" do
360
+ it "handles the :timeout option", pending: true do
375
361
  expect_any_instance_of(Net::HTTP).to receive(:open_timeout=).with(5)
376
362
  expect_any_instance_of(Net::HTTP).to receive(:read_timeout=).with(5)
377
363
  @flickr.get(example_url(:flickr), :timeout => 5)
@@ -0,0 +1,42 @@
1
+ require File.join(File.dirname(__FILE__), '../spec_helper')
2
+ require 'support/shared_examples_for_providers'
3
+
4
+ describe 'OEmbed::Providers::Slideshare' do
5
+ before(:all) do
6
+ VCR.insert_cassette('OEmbed_Providers_Slideshare')
7
+ end
8
+ after(:all) do
9
+ VCR.eject_cassette
10
+ end
11
+
12
+ include OEmbedSpecHelper
13
+
14
+ let(:provider_class) { OEmbed::Providers::Slideshare }
15
+
16
+ expected_valid_urls = (
17
+ %w(https:// http://).map do |protocol|
18
+ %w(slideshare.net www.slideshare.net de.slideshare.net).map do |host|
19
+ [
20
+ '/gabriele.lana/the-magic-of-elixir',
21
+ # Even though Slideshare's oEmbed endpoint
22
+ # is supposed to /mobile/ URLs,
23
+ # as of 2016-05-21 it's returning 404 results for these URLs.
24
+ #'/mobile/gabriele.lana/the-magic-of-elixir',
25
+ ].map do |path|
26
+ File.join(protocol, host, path)
27
+ end
28
+ end
29
+ end
30
+ ).flatten
31
+
32
+ expected_invalid_urls = %w(
33
+ http://www.slideshare.net
34
+ http://www.slideshare.net/gabriele.lana
35
+ )
36
+
37
+ it_should_behave_like(
38
+ "an OEmbed::Proviers instance",
39
+ expected_valid_urls,
40
+ expected_invalid_urls
41
+ )
42
+ end
@@ -0,0 +1,44 @@
1
+ require File.join(File.dirname(__FILE__), '../spec_helper')
2
+ require 'support/shared_examples_for_providers'
3
+
4
+ describe 'OEmbed::Providers::Twitter' do
5
+ before(:all) do
6
+ VCR.insert_cassette('OEmbed_Providers_Twitter')
7
+ end
8
+ after(:all) do
9
+ VCR.eject_cassette
10
+ end
11
+
12
+ include OEmbedSpecHelper
13
+
14
+ let(:provider_class) { OEmbed::Providers::Twitter }
15
+
16
+ expected_valid_urls = %w(
17
+ https://twitter.com/RailsGirlsSoC/status/702136612822634496
18
+ https://www.twitter.com/bpoweski/status/71633762
19
+ )
20
+ expected_invalid_urls = %w(
21
+ http://twitter.com/RailsGirlsSoC/status/702136612822634496
22
+ https://twitter.es/FCBarcelona_es/status/734194638697959424
23
+ )
24
+
25
+ it_should_behave_like(
26
+ "an OEmbed::Proviers instance",
27
+ expected_valid_urls,
28
+ expected_invalid_urls
29
+ )
30
+
31
+ context "using XML" do
32
+ expected_valid_urls.each do |valid_url|
33
+ context "given the valid URL #{valid_url}" do
34
+ describe ".get" do
35
+ it "should encounter a 400 error" do
36
+ expect {
37
+ provider_class.get(valid_url, :format=>:xml)
38
+ }.to raise_error(OEmbed::UnknownResponse, /\b400\b/)
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -1,11 +1,23 @@
1
1
  require 'rubygems'
2
+
2
3
  require 'vcr'
4
+ VCR.config do |c|
5
+ c.default_cassette_options = { :record => :new_episodes }
6
+ c.cassette_library_dir = 'spec/cassettes'
7
+ c.hook_into :webmock
8
+ end
9
+
10
+ require 'webmock/rspec'
11
+ require 'coveralls'
12
+ Coveralls.wear!
13
+
3
14
  require File.dirname(__FILE__) + '/../lib/oembed'
4
15
 
5
16
  RSpec.configure do |config|
6
17
  config.raise_errors_for_deprecations!
7
18
  config.tty = true
8
19
  config.color = true
20
+ config.example_status_persistence_file_path = '.rspec-status'
9
21
  end
10
22
 
11
23
  module OEmbedSpecHelper
@@ -1,11 +1,9 @@
1
1
  ---
2
2
  :flickr:
3
3
  :url: "http://flickr.com/photos/bees/2362225867/"
4
- :body: !
5
- '{"version":"1.0","type":"photo","author_url":"http:\/\/www.flickr.com\/photos\/bees\/","cache_age":3600,"provider_name":"Flickr","provider_url":"http:\/\/www.flickr.com\/","title":"Bacon
6
- Lollys","author_name":"\u202e\u202d\u202cbees\u202c","width":"500","height":"375","url":"http:\/\/farm4.staticflickr.com\/3040\/2362225867_4a87ab8baf.jpg"}
4
+ :body: |
5
+ {"type":"photo","flickr_type":"photo","title":"Bacon Lollys","author_name":"\u202e\u202d\u202cbees\u202c","author_url":"https:\/\/www.flickr.com\/photos\/bees\/","width":1024,"height":768,"url":"https:\/\/live.staticflickr.com\/3040\/2362225867_4a87ab8baf_b.jpg","web_page":"https:\/\/www.flickr.com\/photos\/bees\/2362225867\/","thumbnail_url":"https:\/\/live.staticflickr.com\/3040\/2362225867_4a87ab8baf_q.jpg","thumbnail_width":150,"thumbnail_height":150,"web_page_short_url":"https:\/\/flic.kr\/p\/4AK2sc","license":"All Rights Reserved","license_id":0,"html":"<a data-flickr-embed=\"true\" href=\"https:\/\/www.flickr.com\/photos\/bees\/2362225867\/\" title=\"Bacon Lollys by \u202e\u202d\u202cbees\u202c, on Flickr\"><img src=\"https:\/\/live.staticflickr.com\/3040\/2362225867_4a87ab8baf_b.jpg\" width=\"1024\" height=\"768\" alt=\"Bacon Lollys\"><\/a><script async src=\"https:\/\/embedr.flickr.com\/assets\/client-code.js\" charset=\"utf-8\"><\/script>","version":"1.0","cache_age":3600,"provider_name":"Flickr","provider_url":"https:\/\/www.flickr.com\/"}
7
6
 
8
- '
9
7
  :skitch:
10
8
  :url: "http://skitch.com/sethferreira/nmbr8/the-kings-new-toy"
11
9
  :body: ! '{"type":"photo","version":"1.0","author_name":"sethferreira","author_url":"http:\/\/skitch.com\/sethferreira\/","provider_name":"Skitch.com","provider_url":"http:\/\/skitch.com\/","width":804,"height":804,"url":"https:\/\/img.skitch.com\/20091210-m9cq9r2e6cy1j1sn23acn38kx.jpg","thumbnail_width":337,"thumbnail_height":337,"thumbnail_url":"https:\/\/img.skitch.com\/20091210-m9cq9r2e6cy1j1sn23acn38kx.preview.jpg","cache_age":86400}'
@@ -15,20 +13,12 @@
15
13
  :url: "http://qik.com/video/49565"
16
14
  :vimeo:
17
15
  :url: "http://vimeo.com/3100878"
18
- :body: ! '{"type":"video","version":"1.0","provider_name":"Vimeo","provider_url":"http:\/\/vimeo.com\/","title":"Murmuration","author_name":"Sophie
19
- Windsor Clive","author_url":"http:\/\/vimeo.com\/user3069761","is_plus":"0","html":"<iframe
20
- src=\"https:\/\/player.vimeo.com\/video\/31158841\" width=\"640\" height=\"512\"
21
- frameborder=\"0\" webkitAllowFullScreen mozallowfullscreen allowFullScreen><\/iframe>","width":640,"height":512,"duration":120,"description":"A
22
- chance encounter and shared moment with one of natures greatest and most fleeting
23
- phenomena.","thumbnail_url":"https:\/\/secure-b.vimeocdn.com\/ts\/209\/801\/209801744_640.jpg","thumbnail_width":640,"thumbnail_height":512,"video_id":31158841}'
16
+ :body: |
17
+ {"type":"video","version":"1.0","provider_name":"Vimeo","provider_url":"https:\/\/vimeo.com\/","title":"Murmuration","author_name":"Islands & Rivers","author_url":"https:\/\/vimeo.com\/islandsandrivers","is_plus":"0","account_type":"basic","html":"<iframe src=\"https:\/\/player.vimeo.com\/video\/31158841?app_id=122963\" width=\"400\" height=\"320\" frameborder=\"0\" allow=\"autoplay; fullscreen\" allowfullscreen title=\"Murmuration\"><\/iframe>","width":400,"height":320,"duration":123,"description":"A chance encounter and shared moment with one of natures greatest and most fleeting phenomena.\n\nFacebook: Islands And Rivers\nFor licensing information contact Dale Dobson - dale@iconiclinx.com","thumbnail_url":"https:\/\/i.vimeocdn.com\/video\/448600816_295x166.jpg","thumbnail_width":295,"thumbnail_height":221,"thumbnail_url_with_play_button":"https:\/\/i.vimeocdn.com\/filter\/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F448600816_295x166.jpg&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png","upload_date":"2011-10-26 14:43:13","video_id":31158841,"uri":"\/videos\/31158841"}
24
18
  :vimeo_ssl:
25
19
  :url: "https://vimeo.com/31158841"
26
- :body: ! '{"type":"video","version":"1.0","provider_name":"Vimeo","provider_url":"http:\/\/vimeo.com\/","title":"Murmuration","author_name":"Sophie
27
- Windsor Clive","author_url":"http:\/\/vimeo.com\/user3069761","is_plus":"0","html":"<iframe
28
- src=\"https:\/\/player.vimeo.com\/video\/31158841\" width=\"640\" height=\"512\"
29
- frameborder=\"0\" webkitAllowFullScreen mozallowfullscreen allowFullScreen><\/iframe>","width":640,"height":512,"duration":120,"description":"A
30
- chance encounter and shared moment with one of natures greatest and most fleeting
31
- phenomena.","thumbnail_url":"https:\/\/secure-b.vimeocdn.com\/ts\/209\/801\/209801744_640.jpg","thumbnail_width":640,"thumbnail_height":512,"video_id":31158841}'
20
+ :body: |
21
+ {"type":"video","version":"1.0","provider_name":"Vimeo","provider_url":"https:\/\/vimeo.com\/","title":"Murmuration","author_name":"Islands & Rivers","author_url":"https:\/\/vimeo.com\/islandsandrivers","is_plus":"0","account_type":"basic","html":"<iframe src=\"https:\/\/player.vimeo.com\/video\/31158841?app_id=122963\" width=\"400\" height=\"320\" frameborder=\"0\" allow=\"autoplay; fullscreen\" allowfullscreen title=\"Murmuration\"><\/iframe>","width":400,"height":320,"duration":123,"description":"A chance encounter and shared moment with one of natures greatest and most fleeting phenomena.\n\nFacebook: Islands And Rivers\nFor licensing information contact Dale Dobson - dale@iconiclinx.com","thumbnail_url":"https:\/\/i.vimeocdn.com\/video\/448600816_295x166.jpg","thumbnail_width":295,"thumbnail_height":221,"thumbnail_url_with_play_button":"https:\/\/i.vimeocdn.com\/filter\/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F448600816_295x166.jpg&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png","upload_date":"2011-10-26 14:43:13","video_id":31158841,"uri":"\/videos\/31158841"}
32
22
  :rev3:
33
23
  :url: "http://revision3.com/diggnation/2008-04-17xsanned/"
34
24
  :hulu:
@@ -0,0 +1,39 @@
1
+ RSpec.shared_examples "an OEmbed::Proviers instance" do |expected_valid_urls, expected_invalid_urls|
2
+ expected_valid_urls.each do |valid_url|
3
+ context "given the valid URL #{valid_url}" do
4
+ describe ".include?" do
5
+ it "should be true" do
6
+ expect(provider_class.include?(valid_url)).to be_truthy
7
+ end
8
+ end
9
+
10
+ describe ".get" do
11
+ it "should return a response" do
12
+ response = nil
13
+ expect {
14
+ response = provider_class.get(valid_url)
15
+ }.to_not raise_error
16
+ expect(response).to be_a(OEmbed::Response)
17
+ end
18
+ end
19
+ end
20
+ end
21
+
22
+ expected_invalid_urls.each do |invalid_url|
23
+ context "given the invalid URL #{invalid_url}" do
24
+ describe ".include?" do
25
+ it "should be false" do
26
+ expect(provider_class.include?(invalid_url)).to be_falsey
27
+ end
28
+ end
29
+
30
+ describe ".get" do
31
+ it "should not find a response" do
32
+ expect {
33
+ provider_class.get(invalid_url)
34
+ }.to raise_error(OEmbed::NotFound)
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-oembed
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.13.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Magnus Holm
@@ -11,36 +11,8 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-11-19 00:00:00.000000000 Z
14
+ date: 2020-05-25 00:00:00.000000000 Z
15
15
  dependencies:
16
- - !ruby/object:Gem::Dependency
17
- name: rake
18
- requirement: !ruby/object:Gem::Requirement
19
- requirements:
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: '0'
23
- type: :development
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: '0'
30
- - !ruby/object:Gem::Dependency
31
- name: json
32
- requirement: !ruby/object:Gem::Requirement
33
- requirements:
34
- - - ">="
35
- - !ruby/object:Gem::Version
36
- version: '0'
37
- type: :development
38
- prerelease: false
39
- version_requirements: !ruby/object:Gem::Requirement
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- version: '0'
44
16
  - !ruby/object:Gem::Dependency
45
17
  name: xml-simple
46
18
  requirement: !ruby/object:Gem::Requirement
@@ -69,59 +41,17 @@ dependencies:
69
41
  - - ">="
70
42
  - !ruby/object:Gem::Version
71
43
  version: '0'
72
- - !ruby/object:Gem::Dependency
73
- name: rspec
74
- requirement: !ruby/object:Gem::Requirement
75
- requirements:
76
- - - "~>"
77
- - !ruby/object:Gem::Version
78
- version: '3.0'
79
- type: :development
80
- prerelease: false
81
- version_requirements: !ruby/object:Gem::Requirement
82
- requirements:
83
- - - "~>"
84
- - !ruby/object:Gem::Version
85
- version: '3.0'
86
- - !ruby/object:Gem::Dependency
87
- name: vcr
88
- requirement: !ruby/object:Gem::Requirement
89
- requirements:
90
- - - "~>"
91
- - !ruby/object:Gem::Version
92
- version: '1.0'
93
- type: :development
94
- prerelease: false
95
- version_requirements: !ruby/object:Gem::Requirement
96
- requirements:
97
- - - "~>"
98
- - !ruby/object:Gem::Version
99
- version: '1.0'
100
- - !ruby/object:Gem::Dependency
101
- name: fakeweb
102
- requirement: !ruby/object:Gem::Requirement
103
- requirements:
104
- - - ">="
105
- - !ruby/object:Gem::Version
106
- version: '0'
107
- type: :development
108
- prerelease: false
109
- version_requirements: !ruby/object:Gem::Requirement
110
- requirements:
111
- - - ">="
112
- - !ruby/object:Gem::Version
113
- version: '0'
114
44
  description: An oEmbed consumer library written in Ruby, letting you easily get embeddable
115
45
  HTML representations of supported web pages, based on their URLs. See http://oembed.com
116
46
  for more information about the protocol.
117
- email: arisbartee@gmail.com
47
+ email: webmaster@wrightkuhns.com
118
48
  executables: []
119
49
  extensions: []
120
50
  extra_rdoc_files:
121
51
  - CHANGELOG.rdoc
122
- - README.rdoc
123
52
  - LICENSE
124
53
  files:
54
+ - ".coveralls.yml"
125
55
  - ".gitignore"
126
56
  - ".travis.yml"
127
57
  - ".yardopts"
@@ -129,7 +59,7 @@ files:
129
59
  - Gemfile
130
60
  - Guardfile
131
61
  - LICENSE
132
- - README.rdoc
62
+ - README.md
133
63
  - Rakefile
134
64
  - integration_test/test.rb
135
65
  - integration_test/test_urls.csv
@@ -150,6 +80,7 @@ files:
150
80
  - lib/oembed/provider_discovery.rb
151
81
  - lib/oembed/providers.rb
152
82
  - lib/oembed/providers/embedly_urls.yml
83
+ - lib/oembed/providers/noembed_urls.yml
153
84
  - lib/oembed/providers/oohembed_urls.yml
154
85
  - lib/oembed/response.rb
155
86
  - lib/oembed/response/link.rb
@@ -162,6 +93,8 @@ files:
162
93
  - ruby-oembed.gemspec
163
94
  - spec/cassettes/OEmbed_Provider.yml
164
95
  - spec/cassettes/OEmbed_ProviderDiscovery.yml
96
+ - spec/cassettes/OEmbed_Providers_Slideshare.yml
97
+ - spec/cassettes/OEmbed_Providers_Twitter.yml
165
98
  - spec/formatter/ducktype_backend_spec.rb
166
99
  - spec/formatter/json/.DS_Store
167
100
  - spec/formatter/json/jsongem_backend_spec.rb
@@ -172,11 +105,14 @@ files:
172
105
  - spec/formatter_spec.rb
173
106
  - spec/provider_discovery_spec.rb
174
107
  - spec/provider_spec.rb
108
+ - spec/providers/slideshare_spec.rb
109
+ - spec/providers/twitter_spec.rb
175
110
  - spec/providers_spec.rb
176
111
  - spec/response_spec.rb
177
112
  - spec/spec_helper.rb
178
113
  - spec/spec_helper_examples.yml
179
- homepage: http://github.com/judofyr/ruby-oembed
114
+ - spec/support/shared_examples_for_providers.rb
115
+ homepage: https://github.com/ruby-oembed/ruby-oembed
180
116
  licenses:
181
117
  - MIT
182
118
  metadata: {}
@@ -185,7 +121,7 @@ rdoc_options:
185
121
  - "--main"
186
122
  - README.rdoc
187
123
  - "--title"
188
- - ruby-oembed-0.10.0
124
+ - ruby-oembed-0.13.1
189
125
  - "--inline-source"
190
126
  - "--exclude"
191
127
  - tasks
@@ -203,14 +139,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
203
139
  - !ruby/object:Gem::Version
204
140
  version: '0'
205
141
  requirements: []
206
- rubyforge_project:
207
- rubygems_version: 2.4.7
142
+ rubygems_version: 3.0.3
208
143
  signing_key:
209
- specification_version: 3
144
+ specification_version: 4
210
145
  summary: oEmbed for Ruby
211
146
  test_files:
212
147
  - spec/cassettes/OEmbed_Provider.yml
213
148
  - spec/cassettes/OEmbed_ProviderDiscovery.yml
149
+ - spec/cassettes/OEmbed_Providers_Slideshare.yml
150
+ - spec/cassettes/OEmbed_Providers_Twitter.yml
214
151
  - spec/formatter/ducktype_backend_spec.rb
215
152
  - spec/formatter/json/.DS_Store
216
153
  - spec/formatter/json/jsongem_backend_spec.rb
@@ -221,7 +158,10 @@ test_files:
221
158
  - spec/formatter_spec.rb
222
159
  - spec/provider_discovery_spec.rb
223
160
  - spec/provider_spec.rb
161
+ - spec/providers/slideshare_spec.rb
162
+ - spec/providers/twitter_spec.rb
224
163
  - spec/providers_spec.rb
225
164
  - spec/response_spec.rb
226
165
  - spec/spec_helper.rb
227
166
  - spec/spec_helper_examples.yml
167
+ - spec/support/shared_examples_for_providers.rb