signet 0.6.0 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ODJiNTkyYjQ1OGRkNDY2Y2RjNDZiY2U1YjJhNWI3MWFmNmU5OTNiNw==
5
- data.tar.gz: !binary |-
6
- MGUyODYzMjdmODI4Y2U4YjE5YTMyYzY2ZDU1ZWE3ZGFlYjZmNjRlMw==
2
+ SHA1:
3
+ metadata.gz: 54a525db784c45a39a547b947ad806222183aafa
4
+ data.tar.gz: f2e9672239bacebf70d02803f0a072234095ea96
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- YTIyZGY5MDFjYmM4OWQwOWQzNTBjM2ZmNTNiNjg2ODBlYzAzMTdkOWQ4MWRh
10
- OGQ4NTcxMjhkMGYxZmQyZGVhZTk5YzI3N2IyN2JmYjM0OTIyYTc2Yzc2ZTAw
11
- MmRiZDRjZjM2NzFkMjdhYTEyNzQ5YTBlMjljZGU5NDA0YzRjZTc=
12
- data.tar.gz: !binary |-
13
- MWY0ZWJhNDg2MWQ1YjlkODQ5ZmQzMzBjNmRjZWVhYjA5N2JkZjU5YjRkMjU2
14
- ZTBkNzNmZGQ5NDU4YjgyZjMxM2FiODdhZjM3YjE4OWZkYzBhZTk2ZGMxZWM5
15
- YmE4YzU2YzI2M2E0NGIzZDI5ODMzYWJhMzM5MjkzMmQ5MjM5NTM=
6
+ metadata.gz: f32cda6094a605750a1b1743e0cb1cca838e2d452ddf62d06601321cd0f8fed9910d29966beb1b9208401cb46e7be4e7ce22de8eb80e58ed6d95bc8e96e40821
7
+ data.tar.gz: f6fb4fdf4853079697938fbf6319c91b4b6d0327551ab68f00260c22070ee6efcdbba0c4d620d6b76ebfb1382d36269e327a54a763952e5ac57a848398387f49
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ # 0.6.1
2
+ * Fix language warnings for unused & shadowed variables ((@blowmage)[])
3
+ * Update SSL cert path for OSX ((@gambaroff)[])
4
+ * Update JWT library and fix broken tests
5
+ * Fix incorrect parameter name in OAuth2 client docs ((@samuelreh)[])
6
+ * Fix symbolization of URL parameter keys ((@swifthand)[])
7
+
1
8
  # 0.6.0
2
9
 
3
10
  * Drop support for ruby versions < 1.9.3
data/lib/signet.rb CHANGED
@@ -29,7 +29,6 @@ module Signet #:nodoc:
29
29
  # Combine the above production rules to find valid auth-param pairs.
30
30
  auth_param = /((?:#{token})\s*=\s*(?:#{d_qs}|#{s_qs}|#{token}))/
31
31
  auth_param_pairs = []
32
- position = 0
33
32
  last_match = nil
34
33
  remainder = auth_param_string
35
34
  # Iterate over the string, consuming pair matches as we go. Verify that
@@ -592,7 +592,7 @@ module Signet
592
592
  :client_credential_secret => 'Client credential secret'
593
593
  }
594
594
  # Make sure all required state is set
595
- verifications.each do |(key, value)|
595
+ verifications.each do |(key, _value)|
596
596
  unless self.send(key)
597
597
  raise ArgumentError, "#{key} was not set."
598
598
  end
@@ -748,7 +748,7 @@ module Signet
748
748
  :temporary_credential_secret => 'Temporary credential secret'
749
749
  }
750
750
  # Make sure all required state is set
751
- verifications.each do |(key, value)|
751
+ verifications.each do |(key, _value)|
752
752
  unless self.send(key)
753
753
  raise ArgumentError, "#{key} was not set."
754
754
  end
@@ -912,7 +912,7 @@ module Signet
912
912
  )
913
913
  end
914
914
  # Make sure all required state is set
915
- verifications.each do |(key, value)|
915
+ verifications.each do |(key, _value)|
916
916
  unless self.send(key)
917
917
  raise ArgumentError, "#{key} was not set."
918
918
  end
@@ -979,7 +979,7 @@ module Signet
979
979
  content_type = content_type.split(';', 2).first if content_type.index(';')
980
980
  if request.method == :post && content_type == 'application/x-www-form-urlencoded'
981
981
  # Serializes the body in case a hash/array was passed. Noop if already string like
982
- encoder = Faraday::Request::UrlEncoded.new(lambda { |env| })
982
+ encoder = Faraday::Request::UrlEncoded.new(lambda { |_env| })
983
983
  encoder.call(env)
984
984
  request.body = env[:body]
985
985
 
@@ -250,7 +250,7 @@ module Signet
250
250
  )
251
251
  }
252
252
  }
253
- verifications.each do |(key, value)|
253
+ verifications.each do |(key, _value)|
254
254
  raise ArgumentError, "#{key} was not set." unless self.send(key)
255
255
  end
256
256
 
@@ -321,7 +321,7 @@ module Signet
321
321
  :verifier =>
322
322
  lambda {|x| 'Verifier' }
323
323
  }
324
- verifications.each do |(key, value)|
324
+ verifications.each do |(key, _value)|
325
325
  unless self.send(key)
326
326
  raise ArgumentError, "#{key} was not set."
327
327
  end
@@ -405,7 +405,7 @@ module Signet
405
405
  )
406
406
  end
407
407
  # Make sure all required state is set
408
- verifications.each do |(key, value)|
408
+ verifications.each do |(key, _value)|
409
409
  unless self.send(key)
410
410
  raise ArgumentError, "#{key} was not set."
411
411
  end
@@ -77,9 +77,9 @@ module Signet
77
77
  #
78
78
  # @example
79
79
  # client = Signet::OAuth2::Client.new(
80
- # :authorization_endpoint_uri =>
80
+ # :authorization_uri =>
81
81
  # 'https://example.server.com/authorization',
82
- # :token_endpoint_uri =>
82
+ # :token_credential_uri =>
83
83
  # 'https://example.server.com/token',
84
84
  # :client_id => 'anonymous',
85
85
  # :client_secret => 'anonymous',
@@ -89,6 +89,22 @@ module Signet
89
89
  #
90
90
  # @see Signet::OAuth2::Client#update!
91
91
  def initialize(options={})
92
+ @authorization_uri = nil
93
+ @client_id = nil
94
+ @client_secret = nil
95
+ @code = nil
96
+ @expires_at = nil
97
+ @expires_in = nil
98
+ @issued_at = nil
99
+ @issued_at = nil
100
+ @issuer = nil
101
+ @password = nil
102
+ @principal = nil
103
+ @redirect_uri = nil
104
+ @scope = nil
105
+ @state = nil
106
+ @token_credential_uri = nil
107
+ @username = nil
92
108
  self.update!(options)
93
109
  end
94
110
 
@@ -259,6 +275,9 @@ module Signet
259
275
  options[:state] = self.state unless options[:state]
260
276
  options.merge!(self.additional_parameters.merge(options[:additional_parameters] || {}))
261
277
  options.delete(:additional_parameters)
278
+ options = Hash[options.map do |key, option|
279
+ [key.to_s, option]
280
+ end]
262
281
  uri = Addressable::URI.parse(
263
282
  ::Signet::OAuth2.generate_authorization_uri(
264
283
  @authorization_uri, options
@@ -297,7 +316,7 @@ module Signet
297
316
  @token_credential_uri = coerce_uri(new_token_credential_uri)
298
317
  end
299
318
 
300
- # Addressable expects URIs formatted as hashes to come in with symbols as keys.
319
+ # Addressable expects URIs formatted as hashes to come in with symbols as keys.
301
320
  # Returns nil implicitly for the nil case.
302
321
  def coerce_uri(incoming_uri)
303
322
  if incoming_uri.is_a? Hash
@@ -690,8 +709,8 @@ module Signet
690
709
  # omitted.
691
710
  #
692
711
  # @return [String] The decoded ID token.
693
- def decoded_id_token(public_key=nil)
694
- payload, header = JWT.decode(self.id_token, public_key, !!public_key)
712
+ def decoded_id_token(public_key=nil, options = {})
713
+ payload, _header = JWT.decode(self.id_token, public_key, !!public_key, options)
695
714
  if !payload.has_key?('aud')
696
715
  raise Signet::UnsafeOperationError, 'No ID token audience declared.'
697
716
  elsif payload['aud'] != self.client_id
@@ -832,11 +851,11 @@ module Signet
832
851
  skew = options[:skew] || 60
833
852
  assertion = {
834
853
  "iss" => self.issuer,
835
- "scope" => self.scope.join(' '),
836
854
  "aud" => self.audience,
837
855
  "exp" => (now + self.expiry).to_i,
838
856
  "iat" => (now - skew).to_i
839
857
  }
858
+ assertion['scope'] = self.scope.join(' ') unless self.scope.nil?
840
859
  assertion['prn'] = self.person unless self.person.nil?
841
860
  assertion['sub'] = self.sub unless self.sub.nil?
842
861
  JWT.encode(assertion, self.signing_key, self.signing_algorithm)
@@ -1130,7 +1149,7 @@ module Signet
1130
1149
  def uri_is_oob?(uri)
1131
1150
  return uri.to_s == 'urn:ietf:wg:oauth:2.0:oob' || uri.to_s == 'oob'
1132
1151
  end
1133
-
1152
+
1134
1153
  # Convert all keys in this hash (nested) to symbols for uniform retrieval
1135
1154
  def recursive_hash_normalize_keys(val)
1136
1155
  if val.is_a? Hash
@@ -1141,10 +1160,10 @@ module Signet
1141
1160
  end
1142
1161
 
1143
1162
  def deep_hash_normalize(old_hash)
1144
- old_hash.inject(formatted_hash={}) do |formatted_hash,(k,v)|
1163
+ old_hash.inject(formatted_hash={}) do |hash,(k,v)|
1145
1164
 
1146
- formatted_hash[k.to_sym] = recursive_hash_normalize_keys(v)
1147
- formatted_hash
1165
+ hash[k.to_sym] = recursive_hash_normalize_keys(v)
1166
+ hash
1148
1167
  end
1149
1168
 
1150
1169
  formatted_hash
@@ -16,6 +16,7 @@ if (!ENV['SSL_CERT_FILE'] || !File.exist?(ENV['SSL_CERT_FILE'])) &&
16
16
  '/usr/ssl/certs/ca-certificates.crt',
17
17
  '/usr/share/curl/curl-ca-bundle.crt',
18
18
  '/etc/ssl/certs/ca-certificates.crt',
19
+ '/etc/openssl/cert.pem',
19
20
  '/etc/pki/tls/cert.pem',
20
21
  '/etc/pki/CA/cacert.pem',
21
22
  'C:\Windows\curl-ca-bundle.crt',
@@ -18,7 +18,7 @@ unless defined? Signet::VERSION
18
18
  module VERSION
19
19
  MAJOR = 0
20
20
  MINOR = 6
21
- TINY = 0
21
+ TINY = 1
22
22
 
23
23
  STRING = [MAJOR, MINOR, TINY].join('.')
24
24
  end
data/signet.gemspec CHANGED
@@ -26,7 +26,7 @@ Gem::Specification.new do |s|
26
26
  s.add_runtime_dependency 'addressable', '~> 2.3'
27
27
  s.add_runtime_dependency 'faraday', '~> 0.9'
28
28
  s.add_runtime_dependency 'multi_json', '~> 1.10'
29
- s.add_runtime_dependency 'jwt', '~> 1.0'
29
+ s.add_runtime_dependency 'jwt', '~> 1.5'
30
30
  s.add_runtime_dependency 'extlib', '~> 0.9'
31
31
 
32
32
  s.add_development_dependency 'rake', '~> 10.0'
@@ -763,7 +763,7 @@ JSON
763
763
  )
764
764
  expect(@client.access_token).to eq '12345'
765
765
  expect(@client.refresh_token).to eq '54321'
766
- expect(@client.decoded_id_token).to eq ({
766
+ expect(@client.decoded_id_token(nil, :verify_expiration => false)).to eq ({
767
767
  "token_hash" => "tghD9J7n8V0N2vcw6eMijg",
768
768
  "id" => "12345",
769
769
  "aud" => "client-12345",
@@ -806,7 +806,7 @@ JSON
806
806
  expect(@client.refresh_token).to eq '54321'
807
807
  expect(@client.expires_in).to eq 3600
808
808
  expect(lambda do
809
- @client.decoded_id_token
809
+ @client.decoded_id_token(nil, :verify_expiration => false)
810
810
  end).to raise_error(Signet::UnsafeOperationError)
811
811
  stubs.verify_stubbed_calls
812
812
  end
@@ -840,7 +840,7 @@ JSON
840
840
  expect(@client.refresh_token).to eq '54321'
841
841
  expect(@client.expires_in).to eq 3600
842
842
  expect(lambda do
843
- @client.decoded_id_token
843
+ @client.decoded_id_token(nil, :verify_expiration => false)
844
844
  end).to raise_error(Signet::UnsafeOperationError)
845
845
  stubs.verify_stubbed_calls
846
846
  end
@@ -938,7 +938,7 @@ describe Signet::OAuth2::Client, 'configured with custom parameters' do
938
938
 
939
939
  it 'should allow custom parameters to be updated' do
940
940
  @client.update!(:additional_parameters => {:type => 'new_type'})
941
- @client.additional_parameters.should == { :type => 'new_type'}
941
+ expect(@client.additional_parameters).to eq ({ :type => 'new_type'})
942
942
  end
943
943
 
944
944
  it 'should use custom parameters when generating authorization_uri' do
@@ -951,14 +951,14 @@ describe Signet::OAuth2::Client, 'configured with custom parameters' do
951
951
  end
952
952
 
953
953
  it 'should merge new authorization_uri custom parameters' do
954
- @client.authorization_uri(:additional_parameters => {'type' => 'new_type', 'new_param' => 'new_val'}).query_values.should == {"access_type"=>"offline", "client_id"=>"s6BhdRkqt3", "new_param"=>"new_val", "response_type"=>"code","redirect_uri"=>"https://example.client.com/callback", "type"=>"new_type"}
954
+ expect(@client.authorization_uri(:additional_parameters => {'type' => 'new_type', 'new_param' => 'new_val'}).query_values).to eql({"access_type"=>"offline", "client_id"=>"s6BhdRkqt3", "new_param"=>"new_val", "response_type"=>"code","redirect_uri"=>"https://example.client.com/callback", "type"=>"new_type"})
955
955
  end
956
956
 
957
957
  it 'should merge new generate_access_token_request custom parameters' do
958
958
  @client.update!(:code=>'12345')
959
959
  body = @client.generate_access_token_request(:additional_parameters => {'type' => 'new_type', 'new_param' => 'new_val'}).body
960
- body.should include("type=new_type")
961
- body.should include("new_param=new_val")
960
+ expect(body).to include("type=new_type")
961
+ expect(body).to include("new_param=new_val")
962
962
  end
963
963
  end
964
964
 
@@ -977,32 +977,32 @@ describe Signet::OAuth2::Client, 'configured with custom parameters' do
977
977
  # Also tests Addressable's output.
978
978
  # Note: The only changes made here are to testing the **INTERNAL** representation of options.
979
979
  it 'should allow custom parameters to be set on init' do
980
- @client.additional_parameters.should == { :type => 'web_server'}
980
+ expect(@client.additional_parameters).to eq ({ :type => 'web_server'})
981
981
  end
982
982
 
983
983
  it 'should allow custom parameters to be updated' do
984
984
  @client.update!(:additional_parameters => {'type' => 'new_type'})
985
- @client.additional_parameters.should == { :type => 'new_type'}
985
+ expect(@client.additional_parameters).to eql ({ :type => 'new_type'})
986
986
  end
987
987
 
988
988
  it 'should use custom parameters when generating authorization_uri' do
989
- @client.authorization_uri().query_values.should == {"access_type"=>"offline", "client_id"=>"s6BhdRkqt3", "redirect_uri"=>"https://example.client.com/callback", "response_type"=>"code", "type"=>"web_server"}
989
+ expect(@client.authorization_uri().query_values).to eq ({"access_type"=>"offline", "client_id"=>"s6BhdRkqt3", "redirect_uri"=>"https://example.client.com/callback", "response_type"=>"code", "type"=>"web_server"})
990
990
  end
991
991
 
992
992
  it 'should have the correct authorization_uri' do
993
- @client.authorization_uri.host.should == 'example.com'
994
- @client.authorization_uri.path.should == '/authorize'
993
+ expect(@client.authorization_uri.host).to eq 'example.com'
994
+ expect(@client.authorization_uri.path).to eq '/authorize'
995
995
  end
996
996
 
997
997
  it 'should merge new authorization_uri custom parameters' do
998
- @client.authorization_uri(:additional_parameters => {'type' => 'new_type', 'new_param' => 'new_val'}).query_values.should == {"access_type"=>"offline", "client_id"=>"s6BhdRkqt3", "new_param"=>"new_val", "response_type"=>"code","redirect_uri"=>"https://example.client.com/callback", "type"=>"new_type"}
998
+ expect(@client.authorization_uri(:additional_parameters => {'type' => 'new_type', 'new_param' => 'new_val'}).query_values).to eq ({"access_type"=>"offline", "client_id"=>"s6BhdRkqt3", "new_param"=>"new_val", "response_type"=>"code","redirect_uri"=>"https://example.client.com/callback", "type"=>"new_type"})
999
999
  end
1000
1000
 
1001
1001
  it 'should merge new generate_access_token_request custom parameters' do
1002
1002
  @client.update!(:code=>'12345')
1003
1003
  body = @client.generate_access_token_request(:additional_parameters => {'type' => 'new_type', 'new_param' => 'new_val'}).body
1004
- body.should include("type=new_type")
1005
- body.should include("new_param=new_val")
1004
+ expect(body).to include("type=new_type")
1005
+ expect(body).to include("new_param=new_val")
1006
1006
  end
1007
1007
  end
1008
1008
 
@@ -1018,21 +1018,21 @@ describe Signet::OAuth2::Client, 'configured with custom parameters a la JSON.lo
1018
1018
  end
1019
1019
 
1020
1020
  it 'should allow custom parameters to be set on init' do
1021
- @client.additional_parameters.should == {:type => 'web_server'}
1021
+ expect(@client.additional_parameters).to eq ({:type => 'web_server'})
1022
1022
  end
1023
1023
 
1024
1024
  it 'should allow custom parameters to be updated' do
1025
1025
  @client.update!(:additional_parameters => {'type' => 'new_type'})
1026
- @client.additional_parameters.should == {:type => 'new_type'}
1026
+ expect(@client.additional_parameters).to eql ({:type => 'new_type'})
1027
1027
  end
1028
1028
 
1029
1029
  it 'should have correct authorization_uri hash options' do
1030
- @client.authorization_uri.host.should == "accounts.google.com"
1031
- @client.authorization_uri.path.should == "/o/oauth2/auth"
1030
+ expect(@client.authorization_uri.host).to eq "accounts.google.com"
1031
+ expect(@client.authorization_uri.path).to eq "/o/oauth2/auth"
1032
1032
  end
1033
1033
 
1034
1034
  it 'should use custom parameters when generating authorization_uri' do
1035
- @client.authorization_uri().query_values.should == {"access_type"=>"offline", "client_id"=>"s6BhdRkqt3", "redirect_uri"=>"https://example.client.com/callback", "response_type"=>"code", "type"=>"web_server"}
1035
+ expect(@client.authorization_uri().query_values).to eq ({"access_type"=>"offline", "client_id"=>"s6BhdRkqt3", "redirect_uri"=>"https://example.client.com/callback", "response_type"=>"code", "type"=>"web_server"})
1036
1036
  end
1037
1037
 
1038
1038
  # , "path" => "/o/oauth2/oauth", "host" => "accounts.google.com"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: signet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bob Aman
@@ -9,165 +9,164 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-12-05 00:00:00.000000000 Z
12
+ date: 2015-06-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: addressable
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ~>
18
+ - - "~>"
19
19
  - !ruby/object:Gem::Version
20
20
  version: '2.3'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ~>
25
+ - - "~>"
26
26
  - !ruby/object:Gem::Version
27
27
  version: '2.3'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: faraday
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ~>
32
+ - - "~>"
33
33
  - !ruby/object:Gem::Version
34
34
  version: '0.9'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ~>
39
+ - - "~>"
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0.9'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: multi_json
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - ~>
46
+ - - "~>"
47
47
  - !ruby/object:Gem::Version
48
48
  version: '1.10'
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - ~>
53
+ - - "~>"
54
54
  - !ruby/object:Gem::Version
55
55
  version: '1.10'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: jwt
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - ~>
60
+ - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '1.0'
62
+ version: '1.5'
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - ~>
67
+ - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '1.0'
69
+ version: '1.5'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: extlib
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - ~>
74
+ - - "~>"
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0.9'
77
77
  type: :runtime
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - ~>
81
+ - - "~>"
82
82
  - !ruby/object:Gem::Version
83
83
  version: '0.9'
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: rake
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - ~>
88
+ - - "~>"
89
89
  - !ruby/object:Gem::Version
90
90
  version: '10.0'
91
91
  type: :development
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - ~>
95
+ - - "~>"
96
96
  - !ruby/object:Gem::Version
97
97
  version: '10.0'
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: yard
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - ~>
102
+ - - "~>"
103
103
  - !ruby/object:Gem::Version
104
104
  version: '0.8'
105
105
  type: :development
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - ~>
109
+ - - "~>"
110
110
  - !ruby/object:Gem::Version
111
111
  version: '0.8'
112
112
  - !ruby/object:Gem::Dependency
113
113
  name: rspec
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
- - - ~>
116
+ - - "~>"
117
117
  - !ruby/object:Gem::Version
118
118
  version: '3.1'
119
119
  type: :development
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
- - - ~>
123
+ - - "~>"
124
124
  - !ruby/object:Gem::Version
125
125
  version: '3.1'
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: launchy
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  requirements:
130
- - - ~>
130
+ - - "~>"
131
131
  - !ruby/object:Gem::Version
132
132
  version: '2.4'
133
133
  type: :development
134
134
  prerelease: false
135
135
  version_requirements: !ruby/object:Gem::Requirement
136
136
  requirements:
137
- - - ~>
137
+ - - "~>"
138
138
  - !ruby/object:Gem::Version
139
139
  version: '2.4'
140
140
  - !ruby/object:Gem::Dependency
141
141
  name: kramdown
142
142
  requirement: !ruby/object:Gem::Requirement
143
143
  requirements:
144
- - - ~>
144
+ - - "~>"
145
145
  - !ruby/object:Gem::Version
146
146
  version: '1.5'
147
147
  type: :development
148
148
  prerelease: false
149
149
  version_requirements: !ruby/object:Gem::Requirement
150
150
  requirements:
151
- - - ~>
151
+ - - "~>"
152
152
  - !ruby/object:Gem::Version
153
153
  version: '1.5'
154
154
  - !ruby/object:Gem::Dependency
155
155
  name: simplecov
156
156
  requirement: !ruby/object:Gem::Requirement
157
157
  requirements:
158
- - - ~>
158
+ - - "~>"
159
159
  - !ruby/object:Gem::Version
160
160
  version: '0.9'
161
161
  type: :development
162
162
  prerelease: false
163
163
  version_requirements: !ruby/object:Gem::Requirement
164
164
  requirements:
165
- - - ~>
165
+ - - "~>"
166
166
  - !ruby/object:Gem::Version
167
167
  version: '0.9'
168
- description: ! 'Signet is an OAuth 1.0 / OAuth 2.0 implementation.
169
-
170
- '
168
+ description: |
169
+ Signet is an OAuth 1.0 / OAuth 2.0 implementation.
171
170
  email: sbazyl@google.com
172
171
  executables: []
173
172
  extensions: []
@@ -226,23 +225,23 @@ licenses:
226
225
  metadata: {}
227
226
  post_install_message:
228
227
  rdoc_options:
229
- - --main
228
+ - "--main"
230
229
  - README.md
231
230
  require_paths:
232
231
  - lib
233
232
  required_ruby_version: !ruby/object:Gem::Requirement
234
233
  requirements:
235
- - - ! '>='
234
+ - - ">="
236
235
  - !ruby/object:Gem::Version
237
236
  version: '0'
238
237
  required_rubygems_version: !ruby/object:Gem::Requirement
239
238
  requirements:
240
- - - ! '>='
239
+ - - ">="
241
240
  - !ruby/object:Gem::Version
242
241
  version: 1.3.5
243
242
  requirements: []
244
243
  rubyforge_project:
245
- rubygems_version: 2.2.2
244
+ rubygems_version: 2.4.8
246
245
  signing_key:
247
246
  specification_version: 4
248
247
  summary: Signet is an OAuth 1.0 / OAuth 2.0 implementation.