single_user_oauth 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: af484e1d4259c73928d9b1b06ff5ccb99b0083c0
4
- data.tar.gz: 78e4b3cea1f92bdc3a5c75c897f88dbe68868b51
3
+ metadata.gz: 691ce4430803de4e041556d3f09b5c11e76b11e3
4
+ data.tar.gz: f309eba1c769d6b0cdeab514f4938d2cdb50892f
5
5
  SHA512:
6
- metadata.gz: 5c4fa6a2c959e4b39f600097e9cccf4cfa7480e5b171fa9974ddfd96ab00c5d66a3d94b7452fe37db1d6cbaec0dd58f4538bada5761c3f7aba0772f2bd0bdf2d
7
- data.tar.gz: 4ac20b5eb789e6c1db0b7abfb456ef604175aa1320d5293958c0c3b8671ee75251efe11e38d1cfd90a773834312929e0714e5c0b27bb95154f0950c29fe3e97e
6
+ metadata.gz: 8dcfa7f4026b2893f8bf8be0d659ac179dc938bfd212351ce2784925c314a85fd8fd7912902320c54474eb4f38feab74cec00716e01d6e43d7a3b6760f8b4c22
7
+ data.tar.gz: 153af46481703f45884817bc68045fe41f59f06505abb1f267b6ef3a2e469487354bf302754794385a5b3b55d1a5248ed1f8a967a2ac4b0220a097e0c80e61f8
data/.rspec CHANGED
@@ -1,2 +1,4 @@
1
1
  --format documentation
2
2
  --color
3
+ -r 'spec_helper'
4
+ –order rand
@@ -8,7 +8,14 @@ module SingleUserOauth
8
8
  extend self
9
9
  extend SingleUserOauth::Keys
10
10
 
11
- PERMITTED_KEYS = [:request_method, :base_url, :oauth_consumer_key, :oauth_token, :oauth_consumer_secret, :oauth_access_secret]
11
+ PERMITTED_KEYS = [ :request_method,
12
+ :requested_url,
13
+ :query_params,
14
+ :oauth_consumer_key,
15
+ :oauth_token,
16
+ :oauth_consumer_secret,
17
+ :oauth_access_secret
18
+ ]
12
19
 
13
20
  def generate_header(params)
14
21
  @params = params.size.zero? ? {} : params
@@ -3,7 +3,7 @@ require 'uri'
3
3
  module SingleUserOauth::Header
4
4
  extend self
5
5
 
6
- UNWANTED_HEADER_KEYS = [:request_method, :base_url]
6
+ UNWANTED_HEADER_KEYS = [:request_method, :requested_url]
7
7
 
8
8
  def create(keys)
9
9
  @keys = keys
@@ -22,6 +22,8 @@ module SingleUserOauth::Header
22
22
  end
23
23
  end
24
24
 
25
+ private
26
+
25
27
  def required_keys
26
28
  @required_keys ||= @keys.reject{ |key| self::UNWANTED_HEADER_KEYS.include?(key) }
27
29
  end
@@ -5,20 +5,22 @@ require 'uri'
5
5
  module SingleUserOauth::Signature
6
6
  extend self
7
7
 
8
- UNWANTED_HEADER_KEYS = [:request_method, :base_url]
8
+ UNWANTED_HEADER_KEYS = [:request_method, :requested_url]
9
9
 
10
10
  def create(options)
11
11
  @options = options
12
12
  @request_method = @options.fetch(:request_method, '').upcase
13
- @request_url = @options.fetch(:base_url, '')
13
+ @requested_url = @options.fetch(:requested_url, '')
14
14
  @consumer_secret = @options.fetch(:oauth_consumer_secret, '')
15
15
  @access_secret = @options.fetch(:oauth_access_secret, '')
16
16
 
17
17
  calc_signature
18
18
  end
19
19
 
20
+ private
21
+
20
22
  def signature_base_string
21
- encode(@request_method, @request_url, percent_encode_params)
23
+ encode(@request_method, @requested_url, percent_encode_params)
22
24
  end
23
25
 
24
26
  def signing_key
@@ -47,13 +49,23 @@ module SingleUserOauth::Signature
47
49
  end
48
50
 
49
51
  def percent_encode_params
50
- @options.reject{ |key| UNWANTED_HEADER_KEYS.include?(key) }.collect do |key, value|
52
+ flatten_nested_hash.reject{ |key| UNWANTED_HEADER_KEYS.include?(key) }.collect do |key, value|
51
53
  unless (value.is_a?(Hash) || value.is_a?(Array)) && value.empty?
52
54
  "#{escape(key.to_s)}=#{escape(value.to_s)}"
53
55
  end
54
56
  end.compact.sort! * '&'
55
57
  end
56
58
 
59
+ def flatten_nested_hash
60
+ @options.each_with_object({}) do |(key, value), object|
61
+ if value.is_a?(Hash)
62
+ value.collect {|k, v| object[k] = v }
63
+ elsif key != 'query_params'
64
+ object[key] = value
65
+ end
66
+ end
67
+ end
68
+
57
69
  def escape(item)
58
70
  CGI.escape(item)
59
71
  end
@@ -1,3 +1,3 @@
1
1
  module SingleUserOauth
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -6,7 +6,7 @@ require 'single_user_oauth/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "single_user_oauth"
8
8
  spec.version = SingleUserOauth::VERSION
9
- spec.authors = ["rahul sambari"]
9
+ spec.authors = ["rahul dess"]
10
10
  spec.email = ["sandslash.rahul@gmail.com"]
11
11
 
12
12
  spec.summary = %q{Generates Twitter specific OAuth header.}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: single_user_oauth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
- - rahul sambari
7
+ - rahul dess
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-05-24 00:00:00.000000000 Z
11
+ date: 2016-06-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler