oauth 0.4.5 → 0.4.6

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of oauth might be problematic. Click here for more details.

@@ -1,35 +1,36 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- actionpack (2.3.8)
5
- activesupport (= 2.3.8)
4
+ actionpack (2.3.14)
5
+ activesupport (= 2.3.14)
6
6
  rack (~> 1.1.0)
7
- activesupport (2.3.8)
8
- addressable (2.2.0)
9
- crack (0.1.8)
10
- curb (0.7.7.1)
7
+ activesupport (2.3.14)
8
+ addressable (2.2.7)
9
+ crack (0.3.1)
10
+ curb (0.8.0)
11
11
  em-http-request (0.2.11)
12
12
  addressable (>= 2.0.0)
13
13
  eventmachine (>= 0.12.9)
14
14
  eventmachine (0.12.10)
15
- gemcutter (0.4.1)
16
- json_pure
17
15
  git (1.2.5)
18
- jeweler (1.4.0)
19
- gemcutter (>= 0.1.0)
16
+ jeweler (1.8.3)
17
+ bundler (~> 1.0)
20
18
  git (>= 1.2.5)
21
- rubyforge (>= 2.0.0)
22
- json_pure (1.4.3)
23
- mocha (0.9.8)
24
19
  rake
25
- rack (1.1.0)
26
- rake (0.8.7)
27
- rubyforge (2.0.4)
28
- json_pure (>= 1.1.7)
29
- typhoeus (0.1.31)
30
- rack
31
- webmock (1.3.5)
32
- addressable (>= 2.1.1)
20
+ rdoc
21
+ json (1.6.6)
22
+ metaclass (0.0.1)
23
+ mime-types (1.18)
24
+ mocha (0.11.1)
25
+ metaclass (~> 0.0.1)
26
+ rack (1.1.3)
27
+ rake (0.9.2.2)
28
+ rdoc (3.12)
29
+ json (~> 1.4)
30
+ typhoeus (0.3.3)
31
+ mime-types
32
+ webmock (1.8.6)
33
+ addressable (>= 2.2.7)
33
34
  crack (>= 0.1.7)
34
35
 
35
36
  PLATFORMS
data/HISTORY CHANGED
@@ -1,3 +1,10 @@
1
+ === 0.4.6 2012-04-21
2
+
3
+ * Fixed nested attributes in #normalize (Shaliko Usubov)
4
+ * Make use the path component of the :site parameter (Jonathon M. Abbott)
5
+ * Fixed post body's being dropped in 1.9 (Steven Hammond)
6
+ * Fixed PUT request handling (Anton Panasenko)
7
+
1
8
  === 0.4.5 2011-06-25
2
9
 
3
10
  * Add explicit require for rsa/sha1 (Juris Galang)
@@ -1,7 +1,7 @@
1
1
  $LOAD_PATH << File.dirname(__FILE__) unless $LOAD_PATH.include?(File.dirname(__FILE__))
2
2
 
3
3
  module OAuth
4
- VERSION = "0.4.5"
4
+ VERSION = "0.4.6"
5
5
  end
6
6
 
7
7
  require 'oauth/oauth'
@@ -43,9 +43,6 @@ module OAuth
43
43
  # Add a custom ca_file for consumer
44
44
  # :ca_file => '/etc/certs.pem'
45
45
 
46
- # Add a custom ca_file for consumer
47
- # :ca_file => '/etc/certs.pem'
48
-
49
46
  :oauth_version => "1.0"
50
47
  }
51
48
 
@@ -331,6 +328,10 @@ module OAuth
331
328
  data = arguments.shift
332
329
  end
333
330
 
331
+ # if the base site contains a path, add it now
332
+ uri = URI.parse(site)
333
+ path = uri.path + path if uri.path
334
+
334
335
  headers = arguments.first.is_a?(Hash) ? arguments.shift : {}
335
336
 
336
337
  case http_method
@@ -35,17 +35,38 @@ module OAuth
35
35
  # See Also: {OAuth core spec version 1.0, section 9.1.1}[http://oauth.net/core/1.0#rfc.section.9.1.1]
36
36
  def normalize(params)
37
37
  params.sort.map do |k, values|
38
-
39
38
  if values.is_a?(Array)
39
+ # make sure the array has an element so we don't lose the key
40
+ values << nil if values.empty?
40
41
  # multiple values were provided for a single key
41
42
  values.sort.collect do |v|
42
43
  [escape(k),escape(v)] * "="
43
44
  end
45
+ elsif values.is_a?(Hash)
46
+ normalize_nested_query(values, k)
44
47
  else
45
48
  [escape(k),escape(values)] * "="
46
49
  end
47
50
  end * "&"
48
51
  end
52
+
53
+ #Returns a string representation of the Hash like in URL query string
54
+ # build_nested_query({:level_1 => {:level_2 => ['value_1','value_2']}}, 'prefix'))
55
+ # #=> ["prefix%5Blevel_1%5D%5Blevel_2%5D%5B%5D=value_1", "prefix%5Blevel_1%5D%5Blevel_2%5D%5B%5D=value_2"]
56
+ def normalize_nested_query(value, prefix = nil)
57
+ case value
58
+ when Array
59
+ value.map do |v|
60
+ normalize_nested_query(v, "#{prefix}[]")
61
+ end.flatten.sort
62
+ when Hash
63
+ value.map do |k, v|
64
+ normalize_nested_query(v, prefix ? "#{prefix}[#{k}]" : k)
65
+ end.flatten.sort
66
+ else
67
+ [escape(prefix), escape(value)] * "="
68
+ end
69
+ end
49
70
 
50
71
  # Parse an Authorization / WWW-Authenticate header into a hash. Takes care of unescaping and
51
72
  # removing surrounding quotes. Raises a OAuth::Problem if the header is not parsable into a
@@ -32,6 +32,7 @@ module OAuth::RequestProxy::Net
32
32
 
33
33
  def all_parameters
34
34
  request_params = CGI.parse(query_string)
35
+ # request_params.each{|k,v| request_params[k] = [nil] if v == []}
35
36
 
36
37
  if options[:parameters]
37
38
  options[:parameters].each do |k,v|
@@ -47,7 +48,7 @@ module OAuth::RequestProxy::Net
47
48
 
48
49
  def query_string
49
50
  params = [ query_params, auth_header_params ]
50
- params << post_params if method.to_s.upcase == 'POST' && form_url_encoded?
51
+ params << post_params if (method.to_s.upcase == 'POST' || method.to_s.upcase == 'PUT') && form_url_encoded?
51
52
  params.compact.join('&')
52
53
  end
53
54
 
@@ -4,15 +4,14 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{oauth}
8
- s.version = "0.4.5"
7
+ s.name = "oauth"
8
+ s.version = "0.4.6"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Pelle Braendgaard", "Blaine Cook", "Larry Halff", "Jesse Clark", "Jon Crosby", "Seth Fitzsimmons", "Matt Sanford", "Aaron Quint"]
12
- s.date = %q{2011-06-25}
13
- s.default_executable = %q{oauth}
14
- s.description = %q{OAuth Core Ruby implementation}
15
- s.email = %q{oauth-ruby@googlegroups.com}
12
+ s.date = "2012-04-21"
13
+ s.description = "OAuth Core Ruby implementation"
14
+ s.email = "oauth-ruby@googlegroups.com"
16
15
  s.executables = ["oauth"]
17
16
  s.extra_rdoc_files = [
18
17
  "LICENSE",
@@ -109,12 +108,11 @@ Gem::Specification.new do |s|
109
108
  "test/test_typhoeus_request_proxy.rb"
110
109
  ]
111
110
  s.require_paths = ["lib"]
112
- s.rubyforge_project = %q{oauth}
113
- s.rubygems_version = %q{1.3.7}
114
- s.summary = %q{OAuth Core Ruby implementation}
111
+ s.rubyforge_project = "oauth"
112
+ s.rubygems_version = "1.8.16"
113
+ s.summary = "OAuth Core Ruby implementation"
115
114
 
116
115
  if s.respond_to? :specification_version then
117
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
118
116
  s.specification_version = 3
119
117
 
120
118
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
@@ -86,7 +86,7 @@ module Integration
86
86
 
87
87
  assert_equal 'POST', request.method
88
88
  assert_equal '/test', request.path
89
- assert_equal "key=value&oauth_consumer_key=consumer_key_86cad9&oauth_nonce=225579211881198842005988698334675835446&oauth_signature=26g7wHTtNO6ZWJaLltcueppHYiI%3d&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1199645624&oauth_token=token_411a7f&oauth_version=1.0", request.body.split("&").sort.join("&")
89
+ assert_match /key=value&oauth_consumer_key=consumer_key_86cad9&oauth_nonce=225579211881198842005988698334675835446&oauth_signature=26g7wHTtNO6ZWJaLltcueppHYiI%3[Dd]&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1199645624&oauth_token=token_411a7f&oauth_version=1.0/, request.body.split("&").sort.join("&")
90
90
  assert_equal nil, request['authorization']
91
91
  end
92
92
 
@@ -111,7 +111,7 @@ module Integration
111
111
 
112
112
  assert_equal 'POST', request.method
113
113
  assert_equal '/test', request.path
114
- assert_equal "key=value&oauth_consumer_key=consumer_key_86cad9&oauth_nonce=225579211881198842005988698334675835446&oauth_signature=26g7wHTtNO6ZWJaLltcueppHYiI%3d&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1199645624&oauth_token=token_411a7f&oauth_version=1.0", request.body.split("&").sort.join("&")
114
+ assert_match /key=value&oauth_consumer_key=consumer_key_86cad9&oauth_nonce=225579211881198842005988698334675835446&oauth_signature=26g7wHTtNO6ZWJaLltcueppHYiI%3[Dd]&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1199645624&oauth_token=token_411a7f&oauth_version=1.0/, request.body.split("&").sort.join("&")
115
115
  assert_equal nil, request['authorization']
116
116
  end
117
117
 
@@ -61,6 +61,34 @@ class ConsumerTest < Test::Unit::TestCase
61
61
  assert_equal :post,@consumer.http_method
62
62
  end
63
63
 
64
+ def test_site_without_path
65
+ @consumer=OAuth::Consumer.new(
66
+ "key",
67
+ "secret",
68
+ {
69
+ :site=>"http://twitter.com"
70
+ })
71
+ request = stub(:oauth! => nil)
72
+ http = stub(:request => stub(:to_hash => {}))
73
+ Net::HTTP::Get.expects(:new).with('/people', {}).returns(request)
74
+ @consumer.expects(:create_http).returns(http)
75
+ @consumer.request(:get, '/people', nil, {})
76
+ end
77
+
78
+ def test_site_with_path
79
+ @consumer=OAuth::Consumer.new(
80
+ "key",
81
+ "secret",
82
+ {
83
+ :site=>"http://identi.ca/api"
84
+ })
85
+ request = stub(:oauth! => nil)
86
+ http = stub(:request => stub(:to_hash => {}))
87
+ Net::HTTP::Get.expects(:new).with('/api/people', {}).returns(request)
88
+ @consumer.expects(:create_http).returns(http)
89
+ @consumer.request(:get, '/people', nil, {})
90
+ end
91
+
64
92
  def test_override_paths
65
93
  @consumer=OAuth::Consumer.new(
66
94
  "key",
@@ -5,9 +5,11 @@ $LOAD_PATH << File.dirname(__FILE__) + '/../lib/'
5
5
  require 'oauth'
6
6
  require 'mocha'
7
7
  require 'stringio'
8
- require 'webmock/test_unit'
8
+ require 'webmock'
9
9
 
10
10
  class Test::Unit::TestCase
11
+ include WebMock::API
12
+
11
13
  def assert_matching_headers(expected, actual)
12
14
  # transform into sorted arrays
13
15
  auth_intro, auth_params = actual.split(' ', 2)
@@ -123,7 +123,7 @@ class NetHTTPClientTest < Test::Unit::TestCase
123
123
 
124
124
  assert_equal 'POST', request.method
125
125
  assert_equal '/test', request.path
126
- assert_equal "key=value&oauth_consumer_key=consumer_key_86cad9&oauth_nonce=225579211881198842005988698334675835446&oauth_signature=26g7wHTtNO6ZWJaLltcueppHYiI%3d&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1199645624&oauth_token=token_411a7f&oauth_version=1.0", request.body.split("&").sort.join("&")
126
+ assert_match /key=value&oauth_consumer_key=consumer_key_86cad9&oauth_nonce=225579211881198842005988698334675835446&oauth_signature=26g7wHTtNO6ZWJaLltcueppHYiI%3[Dd]&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1199645624&oauth_token=token_411a7f&oauth_version=1.0/, request.body.split("&").sort.join("&")
127
127
  assert_equal nil, request['authorization']
128
128
  end
129
129
 
@@ -138,6 +138,18 @@ class NetHTTPClientTest < Test::Unit::TestCase
138
138
  assert_equal nil, request['authorization']
139
139
  end
140
140
 
141
+ def test_that_using_post_body_works
142
+ request = Net::HTTP::Post.new(@request_uri.path)
143
+ request['content-type'] = 'application/x-www-form-urlencoded'
144
+ request.body = 'this is a test of the emergency broad cast system. This is only a test.'
145
+ request.oauth!(@http, @consumer, @token, {:nonce => @nonce, :timestamp => @timestamp})
146
+
147
+ assert_equal 'POST', request.method
148
+ assert_equal '/test', request.path
149
+ assert_match /OAuth oauth_consumer_key="consumer_key_86cad9", oauth_nonce="225579211881198842005988698334675835446", oauth_signature="%2[fF]DMMBOJzQ6JmEaXlAXDLGtD1z2I%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1199645624", oauth_token="token_411a7f", oauth_version="1.0"/, request['authorization'].split("&").sort.join("&")
150
+ # assert_equal nil, request['authorization']
151
+ end
152
+
141
153
  def test_that_using_post_with_uri_params_works
142
154
  request = Net::HTTP::Post.new(@request_uri.path + "?" + request_parameters_to_s)
143
155
  request.set_form_data( {} ) # just to make sure we have a correct mime type and thus no body hash
@@ -245,7 +257,7 @@ class NetHTTPClientTest < Test::Unit::TestCase
245
257
  request = Net::HTTP::Put.new(@request_uri.path)
246
258
  request.set_form_data( { 'key2' => 'value2' } )
247
259
  signature_base_string=request.signature_base_string(@http, @consumer, nil, { :nonce => @nonce, :timestamp => @timestamp })
248
- assert_equal "PUT&http%3A%2F%2Fexample.com%2Ftest&oauth_consumer_key%3Dconsumer_key_86cad9%26oauth_nonce%3D225579211881198842005988698334675835446%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1199645624%26oauth_version%3D1.0", signature_base_string
260
+ assert_equal "PUT&http%3A%2F%2Fexample.com%2Ftest&key2%3Dvalue2%26oauth_consumer_key%3Dconsumer_key_86cad9%26oauth_nonce%3D225579211881198842005988698334675835446%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1199645624%26oauth_version%3D1.0", signature_base_string
249
261
  end
250
262
 
251
263
  def test_that_post_bodies_signed_if_form_urlencoded
@@ -52,7 +52,7 @@ class NetHTTPRequestProxyTest < Test::Unit::TestCase
52
52
  request.set_form_data(params)
53
53
  request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test'})
54
54
 
55
- expected_parameters = {}
55
+ expected_parameters = {'key' => ['value']}
56
56
  assert_equal expected_parameters, request_proxy.parameters_for_signature
57
57
  assert_equal 'http://example.com/test', request_proxy.normalized_uri
58
58
  assert_equal 'PUT', request_proxy.method
@@ -68,4 +68,27 @@ class TestOAuthHelper < Test::Unit::TestCase
68
68
  assert_equal "nonce", params['oauth_nonce']
69
69
  assert_equal "1.0", params['oauth_version']
70
70
  end
71
+
72
+ def test_normalize
73
+ params = {
74
+ 'oauth_nonce' => 'nonce',
75
+ 'weight' => { :value => "65" },
76
+ 'oauth_signature_method' => 'HMAC-SHA1',
77
+ 'oauth_timestamp' => "1240004133",
78
+ 'oauth_consumer_key' => 'vince_clortho',
79
+ 'oauth_token' => 'token_value',
80
+ 'oauth_version' => "1.0"
81
+ }
82
+ assert_equal("oauth_consumer_key=vince_clortho&oauth_nonce=nonce&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1240004133&oauth_token=token_value&oauth_version=1.0&weight%5Bvalue%5D=65", OAuth::Helper.normalize(params))
83
+ end
84
+
85
+ def test_normalize_nested_query
86
+ assert_equal([], OAuth::Helper.normalize_nested_query({}))
87
+ assert_equal(["foo=bar"], OAuth::Helper.normalize_nested_query({:foo => 'bar'}))
88
+ assert_equal(["prefix%5Bfoo%5D=bar"], OAuth::Helper.normalize_nested_query({:foo => 'bar'}, 'prefix'))
89
+ assert_equal(["prefix%5Buser%5D%5Bage%5D=12",
90
+ "prefix%5Buser%5D%5Bdate%5D=2011-10-05",
91
+ "prefix%5Buser%5D%5Btwitter_id%5D=123"], OAuth::Helper.normalize_nested_query({:user => {:twitter_id => 123, :date => '2011-10-05', :age => 12}}, 'prefix'))
92
+ end
93
+
71
94
  end
metadata CHANGED
@@ -1,14 +1,10 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: oauth
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 4
8
- - 5
9
- version: 0.4.5
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.6
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - Pelle Braendgaard
13
9
  - Blaine Cook
14
10
  - Larry Halff
@@ -20,138 +16,106 @@ authors:
20
16
  autorequire:
21
17
  bindir: bin
22
18
  cert_chain: []
23
-
24
- date: 2011-06-25 00:00:00 -07:00
25
- default_executable: oauth
26
- dependencies:
27
- - !ruby/object:Gem::Dependency
19
+ date: 2012-04-21 00:00:00.000000000 Z
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
28
22
  name: rake
29
- requirement: &id001 !ruby/object:Gem::Requirement
23
+ requirement: &70205509498980 !ruby/object:Gem::Requirement
30
24
  none: false
31
- requirements:
32
- - - ">="
33
- - !ruby/object:Gem::Version
34
- segments:
35
- - 0
36
- version: "0"
25
+ requirements:
26
+ - - ! '>='
27
+ - !ruby/object:Gem::Version
28
+ version: '0'
37
29
  type: :development
38
30
  prerelease: false
39
- version_requirements: *id001
40
- - !ruby/object:Gem::Dependency
31
+ version_requirements: *70205509498980
32
+ - !ruby/object:Gem::Dependency
41
33
  name: jeweler
42
- requirement: &id002 !ruby/object:Gem::Requirement
34
+ requirement: &70205509498480 !ruby/object:Gem::Requirement
43
35
  none: false
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- segments:
48
- - 0
49
- version: "0"
36
+ requirements:
37
+ - - ! '>='
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
50
40
  type: :development
51
41
  prerelease: false
52
- version_requirements: *id002
53
- - !ruby/object:Gem::Dependency
42
+ version_requirements: *70205509498480
43
+ - !ruby/object:Gem::Dependency
54
44
  name: actionpack
55
- requirement: &id003 !ruby/object:Gem::Requirement
45
+ requirement: &70205509497980 !ruby/object:Gem::Requirement
56
46
  none: false
57
- requirements:
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- segments:
61
- - 2
62
- - 3
63
- - 5
47
+ requirements:
48
+ - - ! '>='
49
+ - !ruby/object:Gem::Version
64
50
  version: 2.3.5
65
51
  type: :development
66
52
  prerelease: false
67
- version_requirements: *id003
68
- - !ruby/object:Gem::Dependency
53
+ version_requirements: *70205509497980
54
+ - !ruby/object:Gem::Dependency
69
55
  name: rack
70
- requirement: &id004 !ruby/object:Gem::Requirement
56
+ requirement: &70205509497480 !ruby/object:Gem::Requirement
71
57
  none: false
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- segments:
76
- - 1
77
- - 0
78
- - 0
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
79
61
  version: 1.0.0
80
62
  type: :development
81
63
  prerelease: false
82
- version_requirements: *id004
83
- - !ruby/object:Gem::Dependency
64
+ version_requirements: *70205509497480
65
+ - !ruby/object:Gem::Dependency
84
66
  name: mocha
85
- requirement: &id005 !ruby/object:Gem::Requirement
67
+ requirement: &70205509496960 !ruby/object:Gem::Requirement
86
68
  none: false
87
- requirements:
88
- - - ">="
89
- - !ruby/object:Gem::Version
90
- segments:
91
- - 0
92
- - 9
93
- - 8
69
+ requirements:
70
+ - - ! '>='
71
+ - !ruby/object:Gem::Version
94
72
  version: 0.9.8
95
73
  type: :development
96
74
  prerelease: false
97
- version_requirements: *id005
98
- - !ruby/object:Gem::Dependency
75
+ version_requirements: *70205509496960
76
+ - !ruby/object:Gem::Dependency
99
77
  name: typhoeus
100
- requirement: &id006 !ruby/object:Gem::Requirement
78
+ requirement: &70205509496480 !ruby/object:Gem::Requirement
101
79
  none: false
102
- requirements:
103
- - - ">="
104
- - !ruby/object:Gem::Version
105
- segments:
106
- - 0
107
- - 1
108
- - 13
80
+ requirements:
81
+ - - ! '>='
82
+ - !ruby/object:Gem::Version
109
83
  version: 0.1.13
110
84
  type: :development
111
85
  prerelease: false
112
- version_requirements: *id006
113
- - !ruby/object:Gem::Dependency
86
+ version_requirements: *70205509496480
87
+ - !ruby/object:Gem::Dependency
114
88
  name: em-http-request
115
- requirement: &id007 !ruby/object:Gem::Requirement
89
+ requirement: &70205509496000 !ruby/object:Gem::Requirement
116
90
  none: false
117
- requirements:
118
- - - ">="
119
- - !ruby/object:Gem::Version
120
- segments:
121
- - 0
122
- - 2
123
- - 10
91
+ requirements:
92
+ - - ! '>='
93
+ - !ruby/object:Gem::Version
124
94
  version: 0.2.10
125
95
  type: :development
126
96
  prerelease: false
127
- version_requirements: *id007
128
- - !ruby/object:Gem::Dependency
97
+ version_requirements: *70205509496000
98
+ - !ruby/object:Gem::Dependency
129
99
  name: curb
130
- requirement: &id008 !ruby/object:Gem::Requirement
100
+ requirement: &70205509495520 !ruby/object:Gem::Requirement
131
101
  none: false
132
- requirements:
133
- - - ">="
134
- - !ruby/object:Gem::Version
135
- segments:
136
- - 0
137
- - 6
138
- - 6
139
- - 0
102
+ requirements:
103
+ - - ! '>='
104
+ - !ruby/object:Gem::Version
140
105
  version: 0.6.6.0
141
106
  type: :development
142
107
  prerelease: false
143
- version_requirements: *id008
108
+ version_requirements: *70205509495520
144
109
  description: OAuth Core Ruby implementation
145
110
  email: oauth-ruby@googlegroups.com
146
- executables:
111
+ executables:
147
112
  - oauth
148
113
  extensions: []
149
-
150
- extra_rdoc_files:
114
+ extra_rdoc_files:
151
115
  - LICENSE
152
116
  - README.rdoc
153
117
  - TODO
154
- files:
118
+ files:
155
119
  - .gemtest
156
120
  - Gemfile
157
121
  - Gemfile.lock
@@ -239,37 +203,28 @@ files:
239
203
  - test/test_signature_plain_text.rb
240
204
  - test/test_token.rb
241
205
  - test/test_typhoeus_request_proxy.rb
242
- has_rdoc: true
243
206
  homepage:
244
207
  licenses: []
245
-
246
208
  post_install_message:
247
209
  rdoc_options: []
248
-
249
- require_paths:
210
+ require_paths:
250
211
  - lib
251
- required_ruby_version: !ruby/object:Gem::Requirement
212
+ required_ruby_version: !ruby/object:Gem::Requirement
252
213
  none: false
253
- requirements:
254
- - - ">="
255
- - !ruby/object:Gem::Version
256
- segments:
257
- - 0
258
- version: "0"
259
- required_rubygems_version: !ruby/object:Gem::Requirement
214
+ requirements:
215
+ - - ! '>='
216
+ - !ruby/object:Gem::Version
217
+ version: '0'
218
+ required_rubygems_version: !ruby/object:Gem::Requirement
260
219
  none: false
261
- requirements:
262
- - - ">="
263
- - !ruby/object:Gem::Version
264
- segments:
265
- - 0
266
- version: "0"
220
+ requirements:
221
+ - - ! '>='
222
+ - !ruby/object:Gem::Version
223
+ version: '0'
267
224
  requirements: []
268
-
269
225
  rubyforge_project: oauth
270
- rubygems_version: 1.3.7
226
+ rubygems_version: 1.8.16
271
227
  signing_key:
272
228
  specification_version: 3
273
229
  summary: OAuth Core Ruby implementation
274
230
  test_files: []
275
-