signet 0.1.2 → 0.1.3

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.
data/CHANGELOG CHANGED
@@ -1,3 +1,8 @@
1
+ == 0.1.3
2
+
3
+ * fixed issue with headers passed in as a Hash
4
+ * fixed incompatibilities with Ruby 1.8.6
5
+
1
6
  == 0.1.2
2
7
 
3
8
  * fixed bug with overzealous normalization
@@ -37,6 +37,15 @@
37
37
  #
38
38
 
39
39
  require 'digest'
40
+ if !''.respond_to?(:bytesize) || !''.respond_to?(:bytes)
41
+ begin
42
+ require 'backports/1.8.7'
43
+ rescue LoadError
44
+ STDERR.puts "Please install backports:"
45
+ STDERR.puts "sudo gem install backports"
46
+ exit(1)
47
+ end
48
+ end
40
49
 
41
50
  unless defined?(Digest::HMAC)
42
51
  module Digest
@@ -284,7 +284,9 @@ module Signet #:nodoc:
284
284
  # be a temporary credential secret when obtaining a token credential
285
285
  # for the first time
286
286
  base_string = self.generate_base_string(method, uri, parameters)
287
- signature_method = Hash[parameters]['oauth_signature_method']
287
+ signature_method = (
288
+ parameters.inject({}) { |h,(k,v)| h[k]=v; h }
289
+ )['oauth_signature_method']
288
290
  case signature_method
289
291
  when 'HMAC-SHA1'
290
292
  require 'signet/oauth_1/signature_methods/hmac_sha1'
@@ -358,8 +360,9 @@ module Signet #:nodoc:
358
360
  parsed_uri = Addressable::URI.parse(authorization_uri)
359
361
  query_values = parsed_uri.query_values || {}
360
362
  if options[:additional_parameters]
361
- query_values =
362
- query_values.merge(Hash[options[:additional_parameters]])
363
+ query_values = query_values.merge(
364
+ options[:additional_parameters].inject({}) { |h,(k,v)| h[k]=v; h }
365
+ )
363
366
  end
364
367
  if temporary_credential_key
365
368
  query_values['oauth_token'] = temporary_credential_key
@@ -870,6 +870,7 @@ module Signet #:nodoc:
870
870
  headers = options[:headers] || []
871
871
  body = options[:body] || ''
872
872
  end
873
+ headers = headers.to_a if headers.kind_of?(Hash)
873
874
  request_components = {
874
875
  :method => method,
875
876
  :uri => uri,
@@ -75,7 +75,7 @@ module Signet #:nodoc:
75
75
  args = args.first.to_ary
76
76
  end
77
77
  if args.all? { |value| value.kind_of?(Array) }
78
- parameters = Hash[args]
78
+ parameters = args.inject({}) { |h,(k,v)| h[k]=v; h }
79
79
  @key = key_from_hash.call(parameters)
80
80
  @secret = secret_from_hash.call(parameters)
81
81
  elsif args.size == 2
@@ -18,7 +18,7 @@ unless defined? Signet::VERSION
18
18
  module VERSION #:nodoc:
19
19
  MAJOR = 0
20
20
  MINOR = 1
21
- TINY = 2
21
+ TINY = 3
22
22
 
23
23
  STRING = [MAJOR, MINOR, TINY].join('.')
24
24
  end
@@ -560,9 +560,9 @@ describe Signet::OAuth1::Client, 'configured' do
560
560
  headers.each do |(header, value)|
561
561
  authorization_header = value if header == 'Authorization'
562
562
  end
563
- parameters = Hash[::Signet::OAuth1.parse_authorization_header(
563
+ parameters = ::Signet::OAuth1.parse_authorization_header(
564
564
  authorization_header
565
- )]
565
+ ).inject({}) { |h,(k,v)| h[k]=v; h }
566
566
  parameters.should_not have_key('oauth_client_credential_key')
567
567
  parameters.should_not have_key('oauth_temporary_credential_key')
568
568
  parameters.should_not have_key('oauth_token')
@@ -589,9 +589,9 @@ describe Signet::OAuth1::Client, 'configured' do
589
589
  headers.each do |(header, value)|
590
590
  authorization_header = value if header == 'Authorization'
591
591
  end
592
- parameters = Hash[::Signet::OAuth1.parse_authorization_header(
592
+ parameters = ::Signet::OAuth1.parse_authorization_header(
593
593
  authorization_header
594
- )]
594
+ ).inject({}) { |h,(k,v)| h[k]=v; h }
595
595
  parameters.should_not have_key('oauth_client_credential_key')
596
596
  parameters.should_not have_key('oauth_temporary_credential_key')
597
597
  parameters.should_not have_key('oauth_callback')
@@ -627,9 +627,9 @@ describe Signet::OAuth1::Client, 'configured' do
627
627
  authorization_header = value if header == 'Authorization'
628
628
  end
629
629
  merge_body(body).should == ''
630
- parameters = Hash[::Signet::OAuth1.parse_authorization_header(
630
+ parameters = ::Signet::OAuth1.parse_authorization_header(
631
631
  authorization_header
632
- )]
632
+ ).inject({}) { |h,(k,v)| h[k]=v; h }
633
633
  parameters.should_not have_key('oauth_client_credential_key')
634
634
  parameters.should_not have_key('oauth_temporary_credential_key')
635
635
  parameters.should_not have_key('oauth_token_credential_key')
@@ -669,9 +669,9 @@ describe Signet::OAuth1::Client, 'configured' do
669
669
  authorization_header = value if header == 'Authorization'
670
670
  end
671
671
  merge_body(body).should == 'file=vacation.jpg&size=original'
672
- parameters = Hash[::Signet::OAuth1.parse_authorization_header(
672
+ parameters = ::Signet::OAuth1.parse_authorization_header(
673
673
  authorization_header
674
- )]
674
+ ).inject({}) { |h,(k,v)| h[k]=v; h }
675
675
  parameters.should_not have_key('oauth_client_credential_key')
676
676
  parameters.should_not have_key('oauth_temporary_credential_key')
677
677
  parameters.should_not have_key('oauth_token_credential_key')
@@ -66,7 +66,7 @@ describe Signet::OAuth1::Credential, 'with a Hash for initialization' do
66
66
  it 'should allow parameters to be specified as an implicit Hash' do
67
67
  class ParameterHashSet
68
68
  def initialize(parameters)
69
- @parameters = Hash[parameters]
69
+ @parameters = parameters.inject({}) { |h,(k,v)| h[k]=v; h }
70
70
  end
71
71
 
72
72
  def to_hash
@@ -156,7 +156,7 @@ describe Signet::OAuth1::Credential, 'with a Hash for initialization' do
156
156
  token = Signet::OAuth1::Credential.new(
157
157
  "dpf43f3p2l4k3l03", "kd94hf93k423kf44"
158
158
  )
159
- parameters = Hash[token]
159
+ parameters = token.to_h
160
160
  parameters['oauth_token'].should == "dpf43f3p2l4k3l03"
161
161
  parameters['oauth_token_secret'].should == "kd94hf93k423kf44"
162
162
  end
@@ -197,7 +197,8 @@ describe Signet::OAuth1::Client, 'configured for standard Google APIs' do
197
197
  )
198
198
  status, headers, body = response
199
199
  status.should == 200
200
- Hash[headers]['Content-Type'].should == 'application/json'
200
+ headers = headers.inject({}) { |h,(k,v)| h[k]=v; h }
201
+ headers['Content-Type'].should == 'application/json'
201
202
  merge_body(body).should == '{"data":"goes here"}'
202
203
  end
203
204
 
@@ -229,7 +230,8 @@ describe Signet::OAuth1::Client, 'configured for standard Google APIs' do
229
230
  )
230
231
  status, headers, body = response
231
232
  status.should == 200
232
- Hash[headers]['Content-Type'].should == 'application/json'
233
+ headers = headers.inject({}) { |h,(k,v)| h[k]=v; h }
234
+ headers['Content-Type'].should == 'application/json'
233
235
  merge_body(body).should == '{"data":"goes here"}'
234
236
  end
235
237
  end
@@ -330,7 +330,7 @@ describe Signet::OAuth1 do
330
330
  end
331
331
 
332
332
  it 'should correctly parse an authorization header' do
333
- parameters = Hash[Signet::OAuth1.parse_authorization_header(
333
+ parameters = Signet::OAuth1.parse_authorization_header(
334
334
  'OAuth realm="http://sp.example.com/", ' +
335
335
  'oauth_consumer_key="0685bd9184jfhq22", ' +
336
336
  'oauth_token="ad180jjd733klru7", ' +
@@ -339,7 +339,7 @@ describe Signet::OAuth1 do
339
339
  'oauth_timestamp="137131200", ' +
340
340
  'oauth_nonce="4572616e48616d6d65724c61686176", ' +
341
341
  'oauth_version="1.0"'
342
- )]
342
+ ).inject({}) { |h,(k,v)| h[k]=v; h }
343
343
  parameters['realm'].should == 'http://sp.example.com/'
344
344
  parameters['oauth_consumer_key'].should == '0685bd9184jfhq22'
345
345
  parameters['oauth_token'].should == 'ad180jjd733klru7'
@@ -464,14 +464,13 @@ describe Signet::OAuth1, 'when generating temporary credentials parameters' do
464
464
  @signature_method = 'HMAC-SHA1'
465
465
  @scope = 'http://photos.example.com/full_access'
466
466
  @additional_parameters = [['scope', @scope]]
467
- @unsigned_parameters = Hash[
467
+ @unsigned_parameters =
468
468
  Signet::OAuth1.unsigned_temporary_credential_parameters(
469
469
  :client_credential_key => @client_credential_key,
470
470
  :callback => @callback,
471
471
  :signature_method => @signature_method,
472
472
  :additional_parameters => @additional_parameters
473
- )
474
- ]
473
+ ).inject({}) { |h,(k,v)| h[k]=v; h }
475
474
  end
476
475
 
477
476
  it 'should raise an error if the client credential key is missing' do
@@ -533,14 +532,13 @@ describe Signet::OAuth1, 'when generating token credential parameters' do
533
532
  @temporary_credential_key = 'hh5s93j4hdidpola'
534
533
  @verifier = '473f82d3'
535
534
  @signature_method = 'HMAC-SHA1'
536
- @unsigned_parameters = Hash[
535
+ @unsigned_parameters =
537
536
  Signet::OAuth1.unsigned_token_credential_parameters(
538
537
  :client_credential_key => @client_credential_key,
539
538
  :temporary_credential_key => @temporary_credential_key,
540
539
  :signature_method => @signature_method,
541
540
  :verifier => @verifier
542
- )
543
- ]
541
+ ).inject({}) { |h,(k,v)| h[k]=v; h }
544
542
  end
545
543
 
546
544
  it 'should raise an error if the client credential key is missing' do
@@ -623,13 +621,12 @@ describe Signet::OAuth1, 'when generating protected resource parameters' do
623
621
  @client_credential_key = 'dpf43f3p2l4k3l03'
624
622
  @token_credential_key = 'nnch734d00sl2jdk'
625
623
  @signature_method = 'HMAC-SHA1'
626
- @unsigned_parameters = Hash[
624
+ @unsigned_parameters =
627
625
  Signet::OAuth1.unsigned_resource_parameters(
628
626
  :client_credential_key => @client_credential_key,
629
627
  :token_credential_key => @token_credential_key,
630
628
  :signature_method => @signature_method
631
- )
632
- ]
629
+ ).inject({}) { |h,(k,v)| h[k]=v; h }
633
630
  end
634
631
 
635
632
  it 'should raise an error if the client credential key is missing' do
@@ -700,14 +697,13 @@ describe Signet::OAuth1, 'when generating token credential parameters ' +
700
697
  )
701
698
  @verifier = '473f82d3'
702
699
  @signature_method = 'HMAC-SHA1'
703
- @unsigned_parameters = Hash[
700
+ @unsigned_parameters =
704
701
  Signet::OAuth1.unsigned_token_credential_parameters(
705
702
  :client_credential => @client_credential,
706
703
  :temporary_credential => @temporary_credential,
707
704
  :signature_method => @signature_method,
708
705
  :verifier => @verifier
709
- )
710
- ]
706
+ ).inject({}) { |h,(k,v)| h[k]=v; h }
711
707
  end
712
708
 
713
709
  it 'should have the correct client credential key' do
@@ -759,13 +755,12 @@ describe Signet::OAuth1, 'when generating token credential parameters ' +
759
755
  )
760
756
  @verifier = '473f82d3'
761
757
  @signature_method = 'HMAC-SHA1'
762
- @unsigned_parameters = Hash[
758
+ @unsigned_parameters =
763
759
  Signet::OAuth1.unsigned_token_credential_parameters(
764
760
  :client => @client,
765
761
  :signature_method => @signature_method,
766
762
  :verifier => @verifier
767
- )
768
- ]
763
+ ).inject({}) { |h,(k,v)| h[k]=v; h }
769
764
  end
770
765
 
771
766
  it 'should have the correct client credential key' do
@@ -818,14 +813,13 @@ describe Signet::OAuth1, 'when generating token credential parameters ' +
818
813
  )
819
814
  @verifier = '473f82d3'
820
815
  @signature_method = 'HMAC-SHA1'
821
- @unsigned_parameters = Hash[
816
+ @unsigned_parameters =
822
817
  Signet::OAuth1.unsigned_token_credential_parameters(
823
818
  :client_credential => @client_credential,
824
819
  :temporary_credential => @temporary_credential,
825
820
  :signature_method => @signature_method,
826
821
  :verifier => @verifier
827
- )
828
- ]
822
+ ).inject({}) { |h,(k,v)| h[k]=v; h }
829
823
  end
830
824
 
831
825
  it 'should have the correct client credential key' do
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: signet
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 29
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 2
10
- version: 0.1.2
9
+ - 3
10
+ version: 0.1.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Bob Aman
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-10-05 00:00:00 -07:00
18
+ date: 2010-10-13 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency