OpenAuth2 0.0.4 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,11 +1,10 @@
1
- # OpenAuth2 [![Build Status](https://secure.travis-ci.org/senthilnambi/OpenAuth2.png?branch=master)][travis]
1
+ # OpenAuth2 [![Build Status](https://secure.travis-ci.org/sent-hil/OpenAuth2.png?branch=master)][travis]
2
2
 
3
- [travis]: http://travis-ci.org/senthilnambi/OpenAuth2
3
+ [travis]: http://travis-ci.org/sent-hil/OpenAuth2
4
4
 
5
5
  OpenAuth2 is a thin OAuth2 wrapper written on top of Faraday in Ruby. The goal is a simple, well documented, easy to use interface for all your OAuth2 needs.
6
6
 
7
7
  * This software is alpha, you're either very brave or very foolish to use this in production of rockets or anything else.
8
- * This Readme is best viewed in [DocumentUp](http://documentup.com/senthilnambi/OpenAuth2).
9
8
 
10
9
  ## Config
11
10
 
@@ -42,11 +41,11 @@ client = OpenAuth2::Client.new do |c|
42
41
  end
43
42
  ```
44
43
 
45
- `Client#configure_connection` takes a block, which can be used to setup middleware like any other Faraday client, i.e:
44
+ `Client#connection` returns a `Faraday::Connection` object, which can be used to setup middleware.
46
45
 
47
46
  ```ruby
48
- client.configure_connection do |c|
49
- c.response :logger
47
+ client.connection do
48
+ response :logger
50
49
  end
51
50
  ```
52
51
 
@@ -72,11 +71,11 @@ Access token is used to sign the request so the server can identify the client s
72
71
  access_token = 'enter in your value'
73
72
  refresh_token = 'enter in your value'
74
73
 
75
- client.configure do
76
- access_token = access_token
74
+ client.configure do |c|
75
+ c.access_token = access_token
77
76
 
78
77
  # optional, for fb its same as above
79
- refresh_token = refresh_token
78
+ c.refresh_token = refresh_token
80
79
  end
81
80
  ```
82
81
 
@@ -84,11 +83,11 @@ end
84
83
 
85
84
  If you don't have an access token, we'll need to ask the server for it.
86
85
 
87
- `token#configure_connection` takes an block, just like `client#configure_connection`, which can be used to setup middleware like any other Faraday client.
86
+ `token#configure` is similar to `client#connection`.
88
87
 
89
88
  ```ruby
90
89
  token = client.token
91
- token.configure_connection do
90
+ token.configure do
92
91
  response :logger
93
92
  end
94
93
 
@@ -148,11 +147,11 @@ client.connection.run_request(:get, path, nil, nil)
148
147
 
149
148
  Since various OAuth2 providers differ in their implementation, OpenAuth2 provides a simple plugin system to accomodate the differences, rather than 'one shoe fits all' approach. Facebook and Google plugins are builtin, but it is trivial to add new ones.
150
149
 
151
- There are three requirements:
150
+ There are only three requirements:
152
151
 
153
152
  1. Should be under right namespace (OpenAuth2::Provider)
154
- 1. Contain Options hash
155
- 1. Contain #parse class method
153
+ 1. Should contain #options method
154
+ 1. Should contain #parse method
156
155
 
157
156
  To use the plugin, call `Config#provider=` with name of the provider. OpenAuth2 upcases and camelizes the name and looks for the constant under OpenAuth2::Provider namespace.
158
157
 
@@ -161,22 +160,26 @@ To use the plugin, call `Config#provider=` with name of the provider. OpenAuth2
161
160
  ```ruby
162
161
  module OpenAuth2
163
162
  module Provider
164
- module YourApi
163
+ class Default
165
164
 
166
- # Provider::Base contains keys of various accepted
167
- # Options, while Provider::Default contains the default options and
165
+ # Provider::Base contains keys of various accepted Options,
166
+ # while Provider::Default contains the default options and
168
167
  # their values. You can however override them here.
169
168
  #
170
- Options = {
171
- :authorize_url => '',
172
- :code_url => '',
173
- :refresh_token_grant_name => '',
174
- }
169
+ def options
170
+ {
171
+ :response_type => 'code',
172
+ :access_token_grant_name => 'authorization_code',
173
+ :refresh_token_grant_name => 'refresh_token',
174
+ :refresh_token_name => :refresh_token,
175
+ :scope => [],
176
+ }
177
+ end
175
178
 
176
179
  # Called after AccessToken#get and #refresh response are received
177
180
  # from provider.
178
181
  #
179
- def self.parse(config, response_body)
182
+ def parse(config, response_body)
180
183
  # parse the response body
181
184
  access_token = response_body.gsub('access_token=', '')
182
185
 
@@ -189,53 +192,9 @@ module OpenAuth2
189
192
  end
190
193
  ```
191
194
 
192
- ## Google example
193
-
194
- ```ruby
195
- require 'open_auth2'
196
- require 'json'
197
-
198
- access_token = 'enter in your own value'
199
- refresh_token = 'enter in your own value'
200
-
201
- config = OpenAuth2::Config.new do |c|
202
- c.provider = :google
203
- c.access_token = access_token
204
- c.refresh_token = refresh_token
205
- c.scope = ['https://www.googleapis.com/auth/calendar']
206
- c.redirect_uri = 'http://localhost:9393/google/callback'
207
- c.path_prefix = '/calendar/v3'
208
- end
195
+ ## Examples
209
196
 
210
- client = OpenAuth2::Client.new do |c|
211
- c.config = config
212
- end
213
-
214
- # get request
215
- client.get(:path => '/users/me/calendarList')
216
-
217
- post_url = '/calendar/v3/calendars/openauth2@gmail.com/events'
218
- body = {
219
- "summary" => "From OpenAuth2",
220
- "start" => {"dateTime"=>"2012-01-20T10:00:00.000-07:00"},
221
- "end" => {"dateTime"=>"2012-01-20T10:25:00.000-07:00"}
222
- }
223
- body = JSON.dump(body)
224
-
225
- # post request
226
- client.post(:path => post_url,
227
- :body => body,
228
- :content_type => content_type)
229
-
230
- header = {"Content-Type" => "application/json"}
231
- full_url = "#{post_url}?access_token=#{access_token}"
232
-
233
- # post request via #run_request
234
- client.run_request(:verb => :post,
235
- :path => full_url,
236
- :body => body,
237
- :header => header)
238
- ```
197
+ See examples/ for more ... (its a surprise).
239
198
 
240
199
  ## Requirements
241
200
 
@@ -1,9 +1,20 @@
1
1
  require_relative '../lib/open_auth2'
2
2
 
3
+ ClientId = '216091171753850'
4
+ ClientSecret = '56f751bef00d6d21e858566b873ac8f8'
5
+ Code = ''
6
+ AccessToken = ''
7
+
3
8
  @config = OpenAuth2::Config.new do |c|
4
- c.provider = :facebook
9
+ c.provider = :facebook
10
+ c.client_id = ClientId
11
+ c.client_secret = ClientSecret
12
+ c.code = Code
13
+ c.access_token = AccessToken
14
+ c.redirect_uri = 'http://localhost:9393/'
15
+ c.scope = ['manage_pages', 'read_insights']
5
16
  end
6
17
 
7
18
  @client = OpenAuth2::Client.new(@config)
8
-
9
- @coke = @client.get(:path => '/cocacola')
19
+ @url = @client.build_code_url
20
+ @token = @client.token
@@ -1,18 +1,20 @@
1
1
  require_relative '../lib/open_auth2'
2
2
  require 'json'
3
3
 
4
- ClientId = nil
5
- ClientSecret = nil
4
+ ClientId = '948773240950.apps.googleusercontent.com'
5
+ ClientSecret = 'MTkeuqOhFTbfRbd27BcEROTl'
6
6
  Code = nil
7
- AccessToken = nil
8
- RefreshToken = nil
9
- PostEmail = nil
7
+ AccessToken = 'ya29.AHES6ZRL6dKYn5HvssNQvH15KXTc76jCd9KC6Wfsir74whQ'
8
+ RefreshToken = '1/2hTXHN9FULj7v_hVOIoyHn6BpOQS6uDOw-xllInXnTU'
9
+ PostEmail = 'senthil196@gmail.com'
10
10
 
11
11
  @config = OpenAuth2::Config.new do |c|
12
12
  c.provider = :google
13
13
  c.code = Code
14
14
  c.client_id = ClientId
15
15
  c.client_secret = ClientSecret
16
+ c.access_token = AccessToken
17
+ c.refresh_token = RefreshToken
16
18
  c.scope = ['https://www.googleapis.com/auth/calendar']
17
19
  c.redirect_uri = 'http://localhost:9393/google/callback'
18
20
  c.path_prefix = '/calendar/v3'
@@ -22,32 +24,34 @@ end
22
24
  c.config = @config
23
25
  end
24
26
 
25
- @token = @client.token
27
+ #@token = @client.token
26
28
 
27
- params = {:approval_prompt => 'force', :access_type => 'offline'}
28
- @url = @token.build_code_url(params)
29
+ #params = {:approval_prompt => 'force', :access_type => 'offline'}
30
+ #@url = @token.build_code_url(params)
29
31
 
30
32
  # get request
31
33
  @list = @client.get(:path => '/users/me/calendarList')
32
34
 
33
- post_url = "/calendar/v3/calendars/#{PostEmail}/events"
34
- body = {
35
+ @post_url = "/calendar/v3/calendars/#{PostEmail}/events"
36
+ @body = {
35
37
  "summary" => "From OpenAuth2",
36
- "start" => {"dateTime"=>"2012-03-03T10:00:00.000-07:00"},
37
- "end" => {"dateTime"=>"2012-03-03T10:25:00.000-07:00"}
38
+ "start" => {"dateTime"=>"2012-10-03T10:00:00.000-07:00"},
39
+ "end" => {"dateTime"=>"2012-10-03T10:25:00.000-07:00"}
38
40
  }
39
- body = JSON.dump(body)
41
+ @body = JSON.dump(@body)
40
42
 
41
43
  # post request
42
- @client.post(:path => post_url,
43
- :body => body,
44
- :content_type => "application/json")
44
+ def make_request
45
+ @response = @client.post(:path => @post_url,
46
+ :body => @body,
47
+ :content_type => "application/json")
48
+ end
45
49
 
46
- header = {"Content-Type" => "application/json"}
47
- full_url = "#{post_url}?access_token=#{AccessToken}"
50
+ #header = {"Content-Type" => "application/json"}
51
+ #full_url = "#{post_url}?access_token=#{AccessToken}"
48
52
 
49
53
  # post request via #run_request
50
- @client.run_request(:verb => :post,
51
- :path => full_url,
52
- :body => body,
53
- :header => header)
54
+ #@client.run_request(:verb => :post,
55
+ #:path => full_url,
56
+ #:body => body,
57
+ #:header => header)
@@ -1,6 +1,6 @@
1
1
  module OpenAuth2
2
2
 
3
- # Used to make GET/POST requests to OAuth server.
3
+ # Makes GET/POST requests to OAuth server.
4
4
  class Client
5
5
  extend DelegateToConfig
6
6
  include Connection
@@ -8,7 +8,7 @@ module OpenAuth2
8
8
  # Use to set config.
9
9
  #
10
10
  # Accepts:
11
- # config: (optional) OpenAuth2::Config object
11
+ # config - (optional) OpenAuth2::Config object.
12
12
  #
13
13
  # Examples:
14
14
  # config = OpenAuth2::Config.new do |c|
@@ -45,7 +45,7 @@ module OpenAuth2
45
45
  yield self if block_given?
46
46
  end
47
47
 
48
- # We use this to get & refresh access/refresh tokens.
48
+ # Use this to get & refresh access/refresh tokens.
49
49
  #
50
50
  # Returns: Token object.
51
51
  #
@@ -61,8 +61,8 @@ module OpenAuth2
61
61
  # client.build_code_url(:scope => 'publish_stream')
62
62
  #
63
63
  # Accepts:
64
- # params: (optional) Hash of additional config to be bundled into
65
- # the url.
64
+ # params - (optional) Hash of additional config to be bundled into
65
+ # the url.
66
66
  #
67
67
  # Returns: String (url).
68
68
  #
@@ -70,8 +70,8 @@ module OpenAuth2
70
70
  token.build_code_url(params)
71
71
  end
72
72
 
73
- # Makes GET request to OAuth server via Faraday. If access_token
74
- # is available, we pass that along to identify ourselves.
73
+ # Makes GET request to OAuth server. If access_token is available
74
+ # we pass that along to identify ourselves.
75
75
  #
76
76
  # Accepts:
77
77
  # hash
@@ -97,7 +97,7 @@ module OpenAuth2
97
97
  end
98
98
  end
99
99
 
100
- # Makes POST request to OAuth server via Faraday.
100
+ # Makes POST request to OAuth server.
101
101
  #
102
102
  # Accepts:
103
103
  # hash
@@ -142,11 +142,13 @@ module OpenAuth2
142
142
  # Examples:
143
143
  # # public GET request
144
144
  # path = "https://graph.facebook.com/cocacola"
145
- # client.run_request(verb: :get, path: path, body: nil, header: nil)
145
+ # client.run_request(verb: :get, path: path, body: nil,
146
+ # header: nil)
146
147
  #
147
148
  # # private GET request
148
149
  # path = "/me/likes?access_token=..."
149
- # client.run_request(verb: :get, path: path, body: nil, header: nil)
150
+ # client.run_request(verb: :get, path: path, body: nil,
151
+ # header: nil)
150
152
  #
151
153
  # Returns: Faraday response object.
152
154
  #
@@ -49,7 +49,7 @@ module OpenAuth2
49
49
  end
50
50
 
51
51
  def parse(response_body)
52
- @provider_const.parse(self, response_body)
52
+ @provider_const.new.parse(self, response_body)
53
53
  end
54
54
 
55
55
  private
@@ -69,10 +69,8 @@ module OpenAuth2
69
69
  full_string = "OpenAuth2::Provider::#{provider_string}"
70
70
 
71
71
  @provider_const = full_string.constantize
72
- rescue NameError => error
73
- if error.to_s =~ /uninitialized constant/
74
- raise UnknownProvider, "Known Providers: #{known_providers}"
75
- end
72
+ rescue NameError
73
+ raise UnknownProvider, "Known Providers: #{known_providers}"
76
74
  end
77
75
 
78
76
  def known_providers
@@ -83,7 +81,7 @@ module OpenAuth2
83
81
  end
84
82
 
85
83
  def copy_provider_keys
86
- @provider_const::Options.each do |key,value|
84
+ @provider_const::new.options.each do |key,value|
87
85
  instance_variable_set("@#{key}", value)
88
86
  end
89
87
  end
@@ -5,14 +5,20 @@ module OpenAuth2
5
5
  # #initialize. We can then choose another provider or overwrite
6
6
  # them individually.
7
7
  #
8
- module Default
9
- Options = {
8
+ class Default
9
+ def options
10
+ {
10
11
  :response_type => 'code',
11
12
  :access_token_grant_name => 'authorization_code',
12
13
  :refresh_token_grant_name => 'refresh_token',
13
14
  :refresh_token_name => :refresh_token,
14
15
  :scope => [],
15
- }
16
+ }
17
+ end
18
+
19
+ def parse(config, response_body)
20
+ response_body
21
+ end
16
22
  end
17
23
  end
18
24
  end
@@ -1,17 +1,19 @@
1
1
  module OpenAuth2
2
2
  module Provider
3
- module Facebook
4
- Options = {
5
- :authorize_url => 'https://graph.facebook.com',
6
- :code_url => 'https://www.facebook.com',
7
- :refresh_token_grant_name => 'fb_exchange_token',
8
- :refresh_token_name => 'fb_exchange_token',
9
- :authorize_path => '/dialog/oauth',
10
- :token_path => 'oauth/access_token',
11
- :endpoint => 'https://graph.facebook.com'
12
- }
3
+ class Facebook
4
+ def options
5
+ {
6
+ :authorize_url => 'https://graph.facebook.com',
7
+ :code_url => 'https://www.facebook.com',
8
+ :refresh_token_grant_name => 'fb_exchange_token',
9
+ :refresh_token_name => 'fb_exchange_token',
10
+ :authorize_path => '/dialog/oauth',
11
+ :token_path => 'oauth/access_token',
12
+ :endpoint => 'https://graph.facebook.com'
13
+ }
14
+ end
13
15
 
14
- def self.parse(config, response_body)
16
+ def parse(config, response_body)
15
17
  access_token = response_body.gsub('access_token=', '')
16
18
  config.access_token = access_token
17
19
  config.refresh_token = access_token
@@ -1,16 +1,18 @@
1
1
  module OpenAuth2
2
2
  module Provider
3
- module Google
4
- Options = {
3
+ class Google
4
+ def options
5
+ {
5
6
  :authorize_url => 'https://accounts.google.com',
6
7
  :code_url => 'https://accounts.google.com',
7
8
  :authorize_path => '/o/oauth2/auth',
8
9
  :redirect_uri => 'http://localhost:9393/google/callback',
9
10
  :token_path => '/o/oauth2/token',
10
11
  :endpoint => 'https://www.googleapis.com'
11
- }
12
+ }
13
+ end
12
14
 
13
- def self.parse(config, body)
15
+ def parse(config, body)
14
16
  json = JSON.parse(body)
15
17
 
16
18
  config.access_token = json['access_token']
@@ -1,11 +1,10 @@
1
1
  module OpenAuth2
2
2
 
3
- # Used to get Access/Refresh tokens from OAuth server.
3
+ # Gets Access/Refresh tokens from OAuth server.
4
4
  class Token
5
5
  extend DelegateToConfig
6
6
  include Connection
7
7
 
8
- # Called internally from Client#token only.
9
8
  def initialize(config)
10
9
  @config = config
11
10
  @faraday_url = authorize_url
@@ -22,7 +21,7 @@ module OpenAuth2
22
21
  # token.build_code_url(:scope => 'publish_stream')
23
22
  #
24
23
  # Accepts:
25
- # params: (optional) Hash of additional config.
24
+ # params - (optional) Hash of additional config.
26
25
  #
27
26
  # Returns: String (url).
28
27
  #
@@ -30,21 +29,15 @@ module OpenAuth2
30
29
  url = URI::HTTPS.build(:host => host,
31
30
  :path => authorize_path,
32
31
  :query => encoded_body(params))
33
-
34
32
  url.to_s
35
33
  end
36
34
 
37
- # Make request to OAuth server for access token & ask @config to
38
- # parse it. @config delegates to the appropriate provider.
39
- #
40
- # We ask @config since the format of response differs between
41
- # OAuth servers widely.
35
+ # Makes request to OAuth server for access token & parses it by
36
+ # delegating to the appropriate provider.
42
37
  #
43
38
  # Accepts:
44
- # params: (optional) Hash of additional config to be sent with
45
- # request.
46
- #
47
- # Returns: ?.
39
+ # params - (optional) Hash of additional config to be sent with
40
+ # request.
48
41
  #
49
42
  def get(params={})
50
43
  body = get_body_hash(params)
@@ -53,14 +46,11 @@ module OpenAuth2
53
46
  parse(raw_request)
54
47
  end
55
48
 
56
- # Make request to OAuth server to refresh the access token &
57
- # ask @config to parse it.
49
+ # Makes request to OAuth server to refresh the access token.
58
50
  #
59
51
  # Accepts:
60
- # params: (optional) Hash of additional config to be sent with
61
- # request.
62
- #
63
- # Returns: ?.
52
+ # params - (optional) Hash of additional config to be sent with
53
+ # request.
64
54
  #
65
55
  def refresh(params={})
66
56
  body = refresh_body_hash(params)
@@ -82,7 +72,6 @@ module OpenAuth2
82
72
  URI.parse(code_url).host
83
73
  end
84
74
 
85
- # Make travel safe.
86
75
  def encoded_body(params)
87
76
  URI.encode_www_form(url_body_hash(params))
88
77
  end
@@ -1,3 +1,3 @@
1
1
  module OpenAuth2
2
- VERSION = '0.0.4'
2
+ VERSION = '0.0.6'
3
3
  end
@@ -21,7 +21,7 @@ Gem::Specification.new do |s|
21
21
  s.require_paths = ["lib"]
22
22
 
23
23
  s.add_dependency 'faraday', '~> 0.7'
24
- s.add_dependency 'activesupport', '~> 3.2'
24
+ s.add_dependency 'activesupport', '~> 3.1'
25
25
  s.add_dependency 'json'
26
26
 
27
27
  if RUBY_PLATFORM == 'java'
@@ -85,7 +85,7 @@ describe OpenAuth2::Client do
85
85
  response :logger
86
86
  end
87
87
 
88
- subject.connection.builder.handlers.should
88
+ subject.connection.builder.handlers.should
89
89
  include(Faraday::Response::Logger)
90
90
  end
91
91
  end
@@ -69,7 +69,7 @@ describe 'Facebook Client' do
69
69
  "{\"message\":\"From OpenAuth2\"}"
70
70
  end
71
71
 
72
- it 'makes request' do
72
+ xit 'makes request' do
73
73
  VCR.use_cassette('fb/post') do
74
74
  content_type = 'application/json'
75
75
  request = subject.post(:path => post_url,
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: OpenAuth2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-17 00:00:00.000000000 Z
12
+ date: 2012-09-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday
16
- requirement: &70354480374180 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,21 +21,31 @@ dependencies:
21
21
  version: '0.7'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70354480374180
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '0.7'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: activesupport
27
- requirement: &70354480372100 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ~>
31
36
  - !ruby/object:Gem::Version
32
- version: '3.2'
37
+ version: '3.1'
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *70354480372100
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '3.1'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: json
38
- requirement: &70354480364500 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: '0'
44
54
  type: :runtime
45
55
  prerelease: false
46
- version_requirements: *70354480364500
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: rake
49
- requirement: &70354480363640 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ~>
@@ -54,10 +69,15 @@ dependencies:
54
69
  version: '0.9'
55
70
  type: :development
56
71
  prerelease: false
57
- version_requirements: *70354480363640
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: '0.9'
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: rspec
60
- requirement: &70354480363000 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ~>
@@ -65,21 +85,31 @@ dependencies:
65
85
  version: '2.8'
66
86
  type: :development
67
87
  prerelease: false
68
- version_requirements: *70354480363000
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: '2.8'
69
94
  - !ruby/object:Gem::Dependency
70
95
  name: vcr
71
- requirement: &70354480362360 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
72
97
  none: false
73
98
  requirements:
74
- - - =
99
+ - - '='
75
100
  - !ruby/object:Gem::Version
76
101
  version: 1.11.3
77
102
  type: :development
78
103
  prerelease: false
79
- version_requirements: *70354480362360
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - '='
108
+ - !ruby/object:Gem::Version
109
+ version: 1.11.3
80
110
  - !ruby/object:Gem::Dependency
81
111
  name: fakeweb
82
- requirement: &70354480361000 !ruby/object:Gem::Requirement
112
+ requirement: !ruby/object:Gem::Requirement
83
113
  none: false
84
114
  requirements:
85
115
  - - ~>
@@ -87,10 +117,15 @@ dependencies:
87
117
  version: '1.3'
88
118
  type: :development
89
119
  prerelease: false
90
- version_requirements: *70354480361000
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: '1.3'
91
126
  - !ruby/object:Gem::Dependency
92
127
  name: timecop
93
- requirement: &70354480359720 !ruby/object:Gem::Requirement
128
+ requirement: !ruby/object:Gem::Requirement
94
129
  none: false
95
130
  requirements:
96
131
  - - ~>
@@ -98,7 +133,12 @@ dependencies:
98
133
  version: '0.3'
99
134
  type: :development
100
135
  prerelease: false
101
- version_requirements: *70354480359720
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ~>
140
+ - !ruby/object:Gem::Version
141
+ version: '0.3'
102
142
  description: OpenAuth2 is a thin OAuth2 wrapper written on top of Faraday in Ruby.
103
143
  email:
104
144
  - senthil196@gmail.com
@@ -156,15 +196,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
156
196
  - - ! '>='
157
197
  - !ruby/object:Gem::Version
158
198
  version: '0'
199
+ segments:
200
+ - 0
201
+ hash: -2189498827599968042
159
202
  required_rubygems_version: !ruby/object:Gem::Requirement
160
203
  none: false
161
204
  requirements:
162
205
  - - ! '>='
163
206
  - !ruby/object:Gem::Version
164
207
  version: '0'
208
+ segments:
209
+ - 0
210
+ hash: -2189498827599968042
165
211
  requirements: []
166
212
  rubyforge_project: OpenAuth2
167
- rubygems_version: 1.8.16
213
+ rubygems_version: 1.8.24
168
214
  signing_key:
169
215
  specification_version: 3
170
216
  summary: OpenAuth2 is a thin OAuth2 wrapper written on top of Faraday in Ruby. The
@@ -188,4 +234,3 @@ test_files:
188
234
  - spec/google/token_spec.rb
189
235
  - spec/spec_helper.rb
190
236
  - spec/token_spec.rb
191
- has_rdoc: