oembed 0.1.0 → 0.1.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 19ab3e5fdab3cc390e18712c6d26d5bab0338dd5
4
+ data.tar.gz: 231c4cd3b7c6b17f56be151951ebc3ef6aba999b
5
+ SHA512:
6
+ metadata.gz: 2d78ac99468c9c42c327501fe6c33734f489cb9a98919d2f4cbaa170a5acc28ca505ed7b272e95e92069d9466861c14cb0174ab2367042ca4237538de1e77328
7
+ data.tar.gz: 855b0578f055d9af46da9364c56227541acf2c4ddc4fe8127d7529ef264e43d6fbccf742c2edcc37e976bed16a92e08017597cae5aa0958115899d1e57590732
@@ -1,5 +1,9 @@
1
1
  language: ruby
2
2
  rvm:
3
- - "1.9.2"
4
- - "1.9.3"
5
- script: bundle exec rspec spec
3
+ - 2.0
4
+ - 2.1
5
+ - 2.2
6
+ - 2.3.0
7
+ - ruby-head
8
+ - jruby
9
+ before_install: gem update bundler
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2012 Alex Soulim
1
+ Copyright (c) 2012 Alex Sulim
2
2
 
3
3
  MIT License
4
4
 
data/README.md CHANGED
@@ -1,4 +1,5 @@
1
- # Introductions
1
+ # oembed gem
2
+ [![Build Status](http://img.shields.io/travis/soulim/oembed.svg?style=flat)](http://travis-ci.org/soulim/oembed) [![Code Climate](http://img.shields.io/codeclimate/github/soulim/oembed.svg?style=flat)](https://codeclimate.com/github/soulim/oembed)
2
3
 
3
4
  [**oEmbed**](http://oembed.com/) is a format for allowing an embedded representation of a URL on third
4
5
  party sites. The simple API allows a website to display embedded content
@@ -35,12 +36,12 @@ You have to do a few things to build an oEmbed client with `oembed` gem.
35
36
  a string with URI of oEmbed endpoint.
36
37
 
37
38
  Lets start with a simple example. It will be a client for the awesome
38
- [Speaker Deck](http://speakerdeck.com).
39
+ [Speaker Deck](http://speakerdeck.com). Note that we call the service class NameApi - this is to avoid clashing with gems (such as twitter) that may have classes named after the service.
39
40
 
40
41
  ```ruby
41
42
  require 'oembed'
42
43
 
43
- class SpeakerDeck
44
+ class SpeakerDeckApi
44
45
  include Oembed::Client
45
46
 
46
47
  # Read more about endpoint on https://speakerdeck.com/faq#oembed
@@ -53,7 +54,7 @@ end
53
54
  That's it. Now you can use a method `#fetch` to get data from oEmbed enpoint of Speaker Deck.
54
55
 
55
56
  ```ruby
56
- client = SpeakerDeck.new
57
+ client = SpeakerDeckApi.new
57
58
  client.fetch('https://speakerdeck.com/u/soulim/p/rails')
58
59
  ```
59
60
 
@@ -63,13 +64,13 @@ The method `#fetch` will return a hash with oEmded data.
63
64
  {
64
65
  "type" => "rich",
65
66
  "version" => 1.0,
66
- "provider_name" => "Speaker Deck",
67
+ "provider_name" => "Speaker Deck",
67
68
  "provider_url" => "https://speakerdeck.com/",
68
- "title" => "Локализация приложения на базе Rails. Личный опыт и советы",
69
- "author_name" => "Alex Soulim",
69
+ "title" => "Локализация приложения на базе Rails. Личный опыт и советы",
70
+ "author_name" => "Alex Soulim",
70
71
  "author_url" => "https://speakerdeck.com/u/soulim",
71
72
  "html" => "<iframe style=\"border:0; padding:0; margin:0; background:transparent;\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\" frameBorder=\"0\" allowTransparency=\"true\" id=\"presentation_frame_4fd3874cebb4b2001f0277e5\" src=\"//speakerdeck.com/embed/4fd3874cebb4b2001f0277e5\" width=\"710\" height=\"596\"></iframe>\n",
72
- "width" => 710,q
73
+ "width" => 710,
73
74
  "height" => 596
74
75
  }
75
76
  ```
@@ -80,7 +81,7 @@ client for XML endpoint.
80
81
  ```ruby
81
82
  require 'oembed'
82
83
 
83
- class Flickr
84
+ class FlickrApi
84
85
  include Oembed::Client
85
86
 
86
87
  def endpoint_uri
@@ -88,7 +89,7 @@ class Flickr
88
89
  end
89
90
  end
90
91
 
91
- client = Flickr.new
92
+ client = FlickrApi.new
92
93
  client.fetch('http://www.flickr.com/photos/alex_soulim/3593916989')
93
94
  ```
94
95
 
@@ -101,7 +102,7 @@ It will return:
101
102
  "author_name"=>"Alex Soulim", "author_url"=>"http://www.flickr.com/photos/alex_soulim/",
102
103
  "width"=>"683",
103
104
  "height"=>"1024",
104
- "url"=>"http://farm4.staticflickr.com/3618/3593916989_3d8aa991ea_b.jpg",
105
+ "url"=>"http://farm4.staticflickr.com/3618/3593916989_3d8aa991ea_b.jpg",
105
106
  "web_page"=>"http://www.flickr.com/photos/alex_soulim/3593916989/",
106
107
  "thumbnail_url"=>"http://farm4.staticflickr.com/3618/3593916989_3d8aa991ea_s.jpg",
107
108
  "thumbnail_width"=>"75",
@@ -122,7 +123,7 @@ Instagram and use `:maxwidth` parameter.
122
123
  ```ruby
123
124
  require 'oembed'
124
125
 
125
- class Instagram
126
+ class InstagramApi
126
127
  include Oembed::Client
127
128
 
128
129
  def endpoint_uri
@@ -130,10 +131,31 @@ class Instagram
130
131
  end
131
132
  end
132
133
 
133
- client = Instagram.new
134
+ client = InstagramApi.new
134
135
  client.fetch('http://instagr.am/p/BUG/', maxwidth: 300)
135
136
  ```
136
137
 
138
+ If you need to always customise the fetch with additional parameters this can be done by providing a fetch method in the service class. In this example we are adding a maxwidth parameter to the request.
139
+
140
+ ```ruby
141
+ require 'oembed'
142
+
143
+ class YoutubeApi
144
+ include Oembed::Client
145
+
146
+ def endpoint_uri
147
+ 'https://www.youtube.com/oembed'
148
+ end
149
+
150
+ def fetch(url, options={})
151
+ super url, options.merge(maxwidth: 620)
152
+ end
153
+ end
154
+
155
+ client = YoutubeApi.new
156
+ client.fetch('https://www.youtube.com/watch?v=_DRNgL76OLc')
157
+ ```
158
+
137
159
  ## Contributing
138
160
 
139
161
  1. Fork it
@@ -142,9 +164,10 @@ client.fetch('http://instagr.am/p/BUG/', maxwidth: 300)
142
164
  4. Push to the branch (`git push origin my-new-feature`)
143
165
  5. Create new Pull Request
144
166
 
145
- ## Supported Ruby versions [![Build Status](https://secure.travis-ci.org/soulim/oembed.png)](http://travis-ci.org/soulim/oembed) [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/soulim/oembed)
167
+ ## Supported Ruby versions
146
168
 
147
169
  This library is tested against the following Ruby implementations:
148
170
 
149
- - Ruby 1.9.2
150
- - Ruby 1.9.3
171
+ - MRI Ruby 2.1
172
+ - MRI Ruby 2.0
173
+ - JRuby
data/Rakefile CHANGED
@@ -1,2 +1,9 @@
1
1
  #!/usr/bin/env rake
2
- require "bundler/gem_tasks"
2
+ require 'bundler/gem_tasks'
3
+ require 'rspec/core/rake_task'
4
+
5
+ RSpec::Core::RakeTask.new do |task|
6
+ task.ruby_opts = '-I lib'
7
+ end
8
+
9
+ task default: :spec
@@ -1,37 +1,12 @@
1
1
  # encoding: utf-8
2
- require 'net/http'
3
- require 'json'
4
- require 'uri'
5
- require 'rexml/document'
6
2
 
7
3
  module Oembed
8
- class Error < StandardError; end
9
-
10
- class ResponseError < Error
11
- attr_reader :response
12
-
13
- def initialize(response)
14
- @response = response
15
- end
16
- end
17
-
18
- class RedirectionTooDeepError < Error; end
19
-
20
- class ParserError < Error
21
- attr_reader :original
22
-
23
- def initialize(original)
24
- @original = original
25
- end
26
- end
27
-
28
- class NotSupportedFormatError < Error; end
29
-
30
4
  autoload :Client, 'oembed/client'
31
- autoload :Parser, 'oembed/parser'
32
- autoload :XmlParser, 'oembed/xml_parser'
33
5
  autoload :Http, 'oembed/http'
6
+ autoload :Parser, 'oembed/parser'
34
7
  autoload :Uri, 'oembed/uri'
8
+ autoload :XmlParser, 'oembed/xml_parser'
35
9
  end
36
10
 
11
+ require 'oembed/errors'
37
12
  require 'oembed/version'
@@ -1,4 +1,7 @@
1
1
  # encoding: utf-8
2
+ require 'oembed/errors'
3
+ require 'oembed/http'
4
+ require 'oembed/uri'
2
5
 
3
6
  module Oembed
4
7
  module Client
@@ -0,0 +1,23 @@
1
+ module Oembed
2
+ class Error < StandardError; end
3
+
4
+ class ResponseError < Error
5
+ attr_reader :response
6
+
7
+ def initialize(response)
8
+ @response = response
9
+ end
10
+ end
11
+
12
+ class RedirectionTooDeepError < Error; end
13
+
14
+ class ParserError < Error
15
+ attr_reader :original
16
+
17
+ def initialize(original)
18
+ @original = original
19
+ end
20
+ end
21
+
22
+ class NotSupportedFormatError < Error; end
23
+ end
@@ -1,4 +1,7 @@
1
1
  # encoding: utf-8
2
+ require 'net/http'
3
+ require 'oembed/errors'
4
+ require 'uri'
2
5
 
3
6
  module Oembed
4
7
  class Http
@@ -33,7 +36,7 @@ module Oembed
33
36
 
34
37
  def follow_redirection(location, limit)
35
38
  if limit > 0
36
- get(location, limit - 1)
39
+ get(location, limit: limit - 1)
37
40
  else
38
41
  raise Oembed::RedirectionTooDeepError, 'HTTP redirects too deep'
39
42
  end
@@ -1,4 +1,7 @@
1
1
  # encoding: utf-8
2
+ require 'json'
3
+ require 'oembed/errors'
4
+ require 'oembed/xml_parser'
2
5
 
3
6
  module Oembed
4
7
  class Parser
@@ -1,3 +1,3 @@
1
1
  module Oembed
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -1,4 +1,6 @@
1
1
  # encoding: utf-8
2
+ require 'oembed/errors'
3
+ require 'rexml/document'
2
4
 
3
5
  module Oembed
4
6
  class XmlParser
@@ -2,11 +2,12 @@
2
2
  require File.expand_path('../lib/oembed/version', __FILE__)
3
3
 
4
4
  Gem::Specification.new do |gem|
5
- gem.authors = ["Alex Soulim"]
6
- gem.email = ["soulim@gmail.com"]
7
- gem.description = %q{A slim library to work with oEmbed format.}
5
+ gem.authors = ["Alex Sulim"]
6
+ gem.email = ["hello@sul.im"]
7
+ gem.description = %q{A slim library to work with oEmbed format. It has no external dependencies at runtime. All you need to have is Ruby itself.}
8
8
  gem.summary = %q{A slim library to work with oEmbed format.}
9
9
  gem.homepage = "http://soulim.github.com/oembed"
10
+ gem.license = 'MIT'
10
11
 
11
12
  gem.files = `git ls-files`.split($\)
12
13
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
@@ -15,7 +16,8 @@ Gem::Specification.new do |gem|
15
16
  gem.require_paths = ["lib"]
16
17
  gem.version = Oembed::VERSION
17
18
 
18
- gem.add_development_dependency 'rspec', '~> 2.11.0'
19
- gem.add_development_dependency 'simplecov', '~> 0.6.4'
20
- gem.add_development_dependency 'fakeweb', '~> 1.3.0'
19
+ gem.add_development_dependency 'fakeweb', '~> 1.3'
20
+ gem.add_development_dependency 'rake', '~> 11.2', '>= 11.2.2'
21
+ gem.add_development_dependency 'rspec', '~> 3.5'
22
+ gem.add_development_dependency 'simplecov', '~> 0.12.0'
21
23
  end
@@ -1,6 +1,6 @@
1
- require 'spec_helper'
1
+ require 'oembed/client'
2
2
 
3
- describe Oembed::Client do
3
+ RSpec.describe Oembed::Client do
4
4
  let(:http) { double('Http', get: 'foo') }
5
5
  let(:endpoint_uri) { 'http://example.com/oembed' }
6
6
  let(:resource_uri) { 'http://example.com/foo' }
@@ -18,12 +18,12 @@ describe Oembed::Client do
18
18
  end
19
19
 
20
20
  it 'should fetch the date using self.fetch!' do
21
- subject.should_receive(:fetch!)
21
+ expect(subject).to receive(:fetch!)
22
22
  subject.fetch(resource_uri)
23
23
  end
24
24
 
25
25
  context 'when there is an error during request' do
26
- before { http.stub(:get).and_raise(Oembed::Error) }
26
+ before { allow(http).to receive(:get).and_raise(Oembed::Error) }
27
27
 
28
28
  it 'should return nil' do
29
29
  expect(subject.fetch(resource_uri)).to be_nil
@@ -37,12 +37,16 @@ describe Oembed::Client do
37
37
  end
38
38
 
39
39
  it 'should prepare request URI' do
40
- Oembed::Uri.should_receive(:new).with(endpoint_uri, resource_uri, width: 100)
40
+ expect(Oembed::Uri).to receive(:new).with(
41
+ endpoint_uri,
42
+ resource_uri,
43
+ width: 100
44
+ )
41
45
  subject.fetch!(resource_uri, width: 100)
42
46
  end
43
47
 
44
48
  it 'should get oEmbed data via HTTP client' do
45
- http.should_receive(:get)
49
+ expect(http).to receive(:get)
46
50
  subject.fetch!(resource_uri)
47
51
  end
48
52
  end
@@ -1,7 +1,7 @@
1
- require 'spec_helper'
2
1
  require 'fakeweb'
2
+ require 'oembed/http'
3
3
 
4
- describe Oembed::Http do
4
+ RSpec.describe Oembed::Http do
5
5
  let(:parser) { double('Parser', parse: 'foo') }
6
6
  let(:uri) { 'http://example.com/foo' }
7
7
 
@@ -16,7 +16,7 @@ describe Oembed::Http do
16
16
  end
17
17
 
18
18
  it 'should parse response body' do
19
- parser.should_receive(:parse)
19
+ expect(parser).to receive(:parse)
20
20
  subject.get(uri)
21
21
  end
22
22
 
@@ -25,6 +25,22 @@ describe Oembed::Http do
25
25
  end
26
26
  end
27
27
 
28
+ context 'when response is a redirect, followed by a redirect' do
29
+ let(:redirect_uri_one) { 'http://example.com/redirect_one' }
30
+ let(:redirect_uri_two) { 'http://example.com/redirect_two' }
31
+
32
+ before do
33
+ FakeWeb.register_uri(:get, uri, body: 'Redirect', status: [301, 'Moved Permanently'], location: redirect_uri_one)
34
+ FakeWeb.register_uri(:get, redirect_uri_one, body: 'Redirect', status: [301, 'Moved Permanently'], location: redirect_uri_two)
35
+ FakeWeb.register_uri(:get, redirect_uri_two, body: 'OK', status: [200, 'OK'])
36
+ end
37
+
38
+ it 'should parse response body, eventually' do
39
+ expect(parser).to receive(:parse)
40
+ subject.get(uri)
41
+ end
42
+ end
43
+
28
44
  context 'when amount of redirects is above the limit' do
29
45
  before do
30
46
  FakeWeb.register_uri(:get, uri, body: 'Redirect', status: [301, 'Moved Permanently'])
@@ -1,6 +1,6 @@
1
- require 'spec_helper'
1
+ require 'oembed/parser'
2
2
 
3
- describe Oembed::Parser do
3
+ RSpec.describe Oembed::Parser do
4
4
  let(:body) { { 'foo' => 'bar', 'baz' => "1" } }
5
5
  let(:json_body) { '{"foo":"bar","baz":"1"}' }
6
6
  let(:xml_body) do
@@ -1,6 +1,6 @@
1
- require 'spec_helper'
1
+ require 'oembed/uri'
2
2
 
3
- describe Oembed::Uri do
3
+ RSpec.describe Oembed::Uri do
4
4
  let(:endpoint_uri) { 'http://example.com/oembed' }
5
5
  let(:resource_uri) { 'http://example.com/foo' }
6
6
 
@@ -1,6 +1,6 @@
1
- require 'spec_helper'
1
+ require 'oembed/xml_parser'
2
2
 
3
- describe Oembed::XmlParser do
3
+ RSpec.describe Oembed::XmlParser do
4
4
  let(:source) do
5
5
  %q(<?xml version="1.0" encoding="utf-8" standalone="yes"?>
6
6
  <oembed>
@@ -19,7 +19,9 @@ describe Oembed::XmlParser do
19
19
 
20
20
  context 'when there is an exception during parsing' do
21
21
  before do
22
- REXML::Document.stub(:new).and_raise(REXML::ParseException.new('error'))
22
+ allow(REXML::Document).to receive(:new).and_raise(
23
+ REXML::ParseException.new('error')
24
+ )
23
25
  end
24
26
 
25
27
  it 'should raise Oembed::ParserError' do
@@ -1,5 +1,5 @@
1
- require 'spec_helper'
2
1
  require 'oembed'
3
2
 
4
- describe Oembed do
3
+ RSpec.describe Oembed do
4
+ pending
5
5
  end
@@ -1,19 +1,30 @@
1
1
  require 'simplecov'
2
2
 
3
3
  SimpleCov.start
4
+
4
5
  RSpec.configure do |config|
5
- config.treat_symbols_as_metadata_keys_with_true_values = true
6
- # config.run_all_when_everything_filtered = true
7
- # config.filter_run :focus
8
-
9
- # Run specs in random order to surface order dependencies. If you find an
10
- # order dependency and want to debug it, you can fix the order by providing
11
- # the seed, which is printed after each run.
12
- # --seed 1234
13
- config.order = 'random'
14
-
15
- # Disable should syntax
16
- config.expect_with(:rspec) { |c| c.syntax = :expect }
17
- end
6
+ config.expect_with :rspec do |expectations|
7
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
8
+ end
9
+
10
+ config.mock_with :rspec do |mocks|
11
+ mocks.verify_partial_doubles = true
12
+ end
13
+
14
+ config.filter_run :focus
15
+ config.run_all_when_everything_filtered = true
16
+
17
+ config.disable_monkey_patching!
18
18
 
19
- require 'oembed'
19
+ config.warnings = true
20
+
21
+ if config.files_to_run.one?
22
+ config.default_formatter = 'doc'
23
+ end
24
+
25
+ config.profile_examples = 10
26
+
27
+ config.order = :random
28
+
29
+ Kernel.srand config.seed
30
+ end
metadata CHANGED
@@ -1,80 +1,95 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oembed
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
5
- prerelease:
4
+ version: 0.1.1
6
5
  platform: ruby
7
6
  authors:
8
- - Alex Soulim
7
+ - Alex Sulim
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-09-16 00:00:00.000000000 Z
11
+ date: 2016-08-16 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: rspec
14
+ name: fakeweb
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
- version: 2.11.0
19
+ version: '1.3'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ~>
24
+ - - "~>"
28
25
  - !ruby/object:Gem::Version
29
- version: 2.11.0
26
+ version: '1.3'
30
27
  - !ruby/object:Gem::Dependency
31
- name: simplecov
28
+ name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ~>
31
+ - - "~>"
36
32
  - !ruby/object:Gem::Version
37
- version: 0.6.4
33
+ version: '11.2'
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: 11.2.2
38
37
  type: :development
39
38
  prerelease: false
40
39
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
40
  requirements:
43
- - - ~>
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: '11.2'
44
+ - - ">="
44
45
  - !ruby/object:Gem::Version
45
- version: 0.6.4
46
+ version: 11.2.2
46
47
  - !ruby/object:Gem::Dependency
47
- name: fakeweb
48
+ name: rspec
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '3.5'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '3.5'
61
+ - !ruby/object:Gem::Dependency
62
+ name: simplecov
48
63
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
64
  requirements:
51
- - - ~>
65
+ - - "~>"
52
66
  - !ruby/object:Gem::Version
53
- version: 1.3.0
67
+ version: 0.12.0
54
68
  type: :development
55
69
  prerelease: false
56
70
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
71
  requirements:
59
- - - ~>
72
+ - - "~>"
60
73
  - !ruby/object:Gem::Version
61
- version: 1.3.0
62
- description: A slim library to work with oEmbed format.
74
+ version: 0.12.0
75
+ description: A slim library to work with oEmbed format. It has no external dependencies
76
+ at runtime. All you need to have is Ruby itself.
63
77
  email:
64
- - soulim@gmail.com
78
+ - hello@sul.im
65
79
  executables: []
66
80
  extensions: []
67
81
  extra_rdoc_files: []
68
82
  files:
69
- - .gitignore
70
- - .rspec
71
- - .travis.yml
83
+ - ".gitignore"
84
+ - ".rspec"
85
+ - ".travis.yml"
72
86
  - Gemfile
73
87
  - LICENSE
74
88
  - README.md
75
89
  - Rakefile
76
90
  - lib/oembed.rb
77
91
  - lib/oembed/client.rb
92
+ - lib/oembed/errors.rb
78
93
  - lib/oembed/http.rb
79
94
  - lib/oembed/parser.rb
80
95
  - lib/oembed/uri.rb
@@ -89,28 +104,28 @@ files:
89
104
  - spec/oembed_spec.rb
90
105
  - spec/spec_helper.rb
91
106
  homepage: http://soulim.github.com/oembed
92
- licenses: []
107
+ licenses:
108
+ - MIT
109
+ metadata: {}
93
110
  post_install_message:
94
111
  rdoc_options: []
95
112
  require_paths:
96
113
  - lib
97
114
  required_ruby_version: !ruby/object:Gem::Requirement
98
- none: false
99
115
  requirements:
100
- - - ! '>='
116
+ - - ">="
101
117
  - !ruby/object:Gem::Version
102
118
  version: '0'
103
119
  required_rubygems_version: !ruby/object:Gem::Requirement
104
- none: false
105
120
  requirements:
106
- - - ! '>='
121
+ - - ">="
107
122
  - !ruby/object:Gem::Version
108
123
  version: '0'
109
124
  requirements: []
110
125
  rubyforge_project:
111
- rubygems_version: 1.8.24
126
+ rubygems_version: 2.5.1
112
127
  signing_key:
113
- specification_version: 3
128
+ specification_version: 4
114
129
  summary: A slim library to work with oEmbed format.
115
130
  test_files:
116
131
  - spec/oembed/client_spec.rb