oauth 0.5.7 → 0.5.10

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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +64 -104
  3. data/CODE_OF_CONDUCT.md +0 -0
  4. data/CONTRIBUTING.md +23 -0
  5. data/LICENSE +0 -0
  6. data/README.md +245 -96
  7. data/SECURITY.md +16 -0
  8. data/TODO +0 -0
  9. data/lib/oauth/cli/authorize_command.rb +8 -10
  10. data/lib/oauth/cli/base_command.rb +8 -6
  11. data/lib/oauth/cli/help_command.rb +0 -0
  12. data/lib/oauth/cli/query_command.rb +3 -3
  13. data/lib/oauth/cli/sign_command.rb +12 -15
  14. data/lib/oauth/cli/version_command.rb +0 -0
  15. data/lib/oauth/cli.rb +2 -2
  16. data/lib/oauth/client/action_controller_request.rb +14 -15
  17. data/lib/oauth/client/em_http.rb +28 -28
  18. data/lib/oauth/client/helper.rb +14 -17
  19. data/lib/oauth/client/net_http.rb +27 -27
  20. data/lib/oauth/client.rb +0 -0
  21. data/lib/oauth/consumer.rb +52 -62
  22. data/lib/oauth/errors/error.rb +0 -0
  23. data/lib/oauth/errors/problem.rb +0 -0
  24. data/lib/oauth/errors/unauthorized.rb +0 -0
  25. data/lib/oauth/errors.rb +0 -0
  26. data/lib/oauth/helper.rb +7 -7
  27. data/lib/oauth/oauth.rb +4 -4
  28. data/lib/oauth/oauth_test_helper.rb +0 -0
  29. data/lib/oauth/request_proxy/action_controller_request.rb +0 -0
  30. data/lib/oauth/request_proxy/action_dispatch_request.rb +0 -0
  31. data/lib/oauth/request_proxy/base.rb +3 -3
  32. data/lib/oauth/request_proxy/curb_request.rb +0 -0
  33. data/lib/oauth/request_proxy/em_http_request.rb +0 -0
  34. data/lib/oauth/request_proxy/jabber_request.rb +0 -0
  35. data/lib/oauth/request_proxy/mock_request.rb +0 -0
  36. data/lib/oauth/request_proxy/net_http.rb +2 -2
  37. data/lib/oauth/request_proxy/rack_request.rb +0 -0
  38. data/lib/oauth/request_proxy/rest_client_request.rb +2 -2
  39. data/lib/oauth/request_proxy/typhoeus_request.rb +0 -0
  40. data/lib/oauth/request_proxy.rb +3 -3
  41. data/lib/oauth/server.rb +8 -10
  42. data/lib/oauth/signature/base.rb +3 -4
  43. data/lib/oauth/signature/hmac/sha1.rb +1 -1
  44. data/lib/oauth/signature/hmac/sha256.rb +1 -1
  45. data/lib/oauth/signature/plaintext.rb +0 -0
  46. data/lib/oauth/signature/rsa/sha1.rb +3 -3
  47. data/lib/oauth/signature.rb +5 -5
  48. data/lib/oauth/token.rb +0 -0
  49. data/lib/oauth/tokens/access_token.rb +0 -0
  50. data/lib/oauth/tokens/consumer_token.rb +2 -2
  51. data/lib/oauth/tokens/request_token.rb +7 -8
  52. data/lib/oauth/tokens/server_token.rb +0 -1
  53. data/lib/oauth/tokens/token.rb +0 -0
  54. data/lib/oauth/version.rb +1 -1
  55. data/lib/oauth.rb +0 -0
  56. metadata +17 -182
@@ -10,12 +10,12 @@ end
10
10
  module ActionController
11
11
  class Base
12
12
  if defined? ActionDispatch
13
- def process_with_new_base_test(request, response=nil)
13
+ def process_with_new_base_test(request, response = nil)
14
14
  request.apply_oauth! if request.respond_to?(:apply_oauth!)
15
15
  super(request, response)
16
16
  end
17
17
  else
18
- def process_with_oauth(request, response=nil)
18
+ def process_with_oauth(request, response = nil)
19
19
  request.apply_oauth! if request.respond_to?(:apply_oauth!)
20
20
  process_without_oauth(request, response)
21
21
  end
@@ -24,8 +24,8 @@ module ActionController
24
24
  end
25
25
 
26
26
  class TestRequest
27
- def self.use_oauth=(bool)
28
- @use_oauth = bool
27
+ class << self
28
+ attr_writer :use_oauth
29
29
  end
30
30
 
31
31
  def self.use_oauth?
@@ -33,21 +33,21 @@ module ActionController
33
33
  end
34
34
 
35
35
  def configure_oauth(consumer = nil, token = nil, options = {})
36
- @oauth_options = { :consumer => consumer,
37
- :token => token,
38
- :scheme => "header",
39
- :signature_method => nil,
40
- :nonce => nil,
41
- :timestamp => nil }.merge(options)
36
+ @oauth_options = { consumer: consumer,
37
+ token: token,
38
+ scheme: "header",
39
+ signature_method: nil,
40
+ nonce: nil,
41
+ timestamp: nil }.merge(options)
42
42
  end
43
43
 
44
44
  def apply_oauth!
45
45
  return unless ActionController::TestRequest.use_oauth? && @oauth_options
46
46
 
47
- @oauth_helper = OAuth::Client::Helper.new(self, @oauth_options.merge(:request_uri => (respond_to?(:fullpath) ? fullpath : request_uri)))
47
+ @oauth_helper = OAuth::Client::Helper.new(self, @oauth_options.merge(request_uri: (respond_to?(:fullpath) ? fullpath : request_uri)))
48
48
  @oauth_helper.amend_user_agent_header(env)
49
49
 
50
- self.send("set_oauth_#{@oauth_options[:scheme]}")
50
+ send("set_oauth_#{@oauth_options[:scheme]}")
51
51
  end
52
52
 
53
53
  def set_oauth_header
@@ -56,10 +56,9 @@ module ActionController
56
56
 
57
57
  def set_oauth_parameters
58
58
  @query_parameters = @oauth_helper.parameters_with_oauth
59
- @query_parameters.merge!(:oauth_signature => @oauth_helper.signature)
59
+ @query_parameters.merge!(oauth_signature: @oauth_helper.signature)
60
60
  end
61
61
 
62
- def set_oauth_query_string
63
- end
62
+ def set_oauth_query_string; end
64
63
  end
65
64
  end
@@ -23,16 +23,16 @@ module EventMachine
23
23
  #
24
24
  # See Also: {OAuth core spec version 1.0, section 5.4.1}[http://oauth.net/core/1.0#rfc.section.5.4.1]
25
25
  def oauth!(http, consumer = nil, token = nil, options = {})
26
- options = { :request_uri => normalized_oauth_uri(http),
27
- :consumer => consumer,
28
- :token => token,
29
- :scheme => "header",
30
- :signature_method => nil,
31
- :nonce => nil,
32
- :timestamp => nil }.merge(options)
26
+ options = { request_uri: normalized_oauth_uri(http),
27
+ consumer: consumer,
28
+ token: token,
29
+ scheme: "header",
30
+ signature_method: nil,
31
+ nonce: nil,
32
+ timestamp: nil }.merge(options)
33
33
 
34
34
  @oauth_helper = OAuth::Client::Helper.new(self, options)
35
- self.__send__(:"set_oauth_#{options[:scheme]}")
35
+ __send__(:"set_oauth_#{options[:scheme]}")
36
36
  end
37
37
 
38
38
  # Create a string suitable for signing for an HTTP request. This process involves parameter
@@ -49,13 +49,13 @@ module EventMachine
49
49
  #
50
50
  # See Also: {OAuth core spec version 1.0, section 9.1.1}[http://oauth.net/core/1.0#rfc.section.9.1.1]
51
51
  def signature_base_string(http, consumer = nil, token = nil, options = {})
52
- options = { :request_uri => normalized_oauth_uri(http),
53
- :consumer => consumer,
54
- :token => token,
55
- :scheme => "header",
56
- :signature_method => nil,
57
- :nonce => nil,
58
- :timestamp => nil }.merge(options)
52
+ options = { request_uri: normalized_oauth_uri(http),
53
+ consumer: consumer,
54
+ token: token,
55
+ scheme: "header",
56
+ signature_method: nil,
57
+ nonce: nil,
58
+ timestamp: nil }.merge(options)
59
59
 
60
60
  OAuth::Client::Helper.new(self, options).signature_base_string
61
61
  end
@@ -77,13 +77,13 @@ module EventMachine
77
77
  protected
78
78
 
79
79
  def combine_query(path, query, uri_query)
80
- combined_query = if query.kind_of?(Hash)
81
- query.map { |k, v| encode_param(k, v) }.join("&")
82
- else
83
- query.to_s
80
+ combined_query = if query.is_a?(Hash)
81
+ query.map { |k, v| encode_param(k, v) }.join("&")
82
+ else
83
+ query.to_s
84
84
  end
85
- if !uri_query.to_s.empty?
86
- combined_query = [combined_query, uri_query].reject {|part| part.empty?}.join("&")
85
+ unless uri_query.to_s.empty?
86
+ combined_query = [combined_query, uri_query].reject(&:empty?).join("&")
87
87
  end
88
88
  combined_query.to_s.empty? ? path : "#{path}?#{combined_query}"
89
89
  end
@@ -95,17 +95,17 @@ module EventMachine
95
95
  uri.host = http.address
96
96
  uri.port = http.port
97
97
 
98
- if http.respond_to?(:use_ssl?) && http.use_ssl?
99
- uri.scheme = "https"
100
- else
101
- uri.scheme = "http"
102
- end
98
+ uri.scheme = if http.respond_to?(:use_ssl?) && http.use_ssl?
99
+ "https"
100
+ else
101
+ "http"
102
+ end
103
103
  uri.to_s
104
104
  end
105
105
 
106
106
  def set_oauth_header
107
- self.req[:head] ||= {}
108
- self.req[:head].merge!("Authorization" => @oauth_helper.header)
107
+ req[:head] ||= {}
108
+ req[:head].merge!("Authorization" => @oauth_helper.header)
109
109
  end
110
110
 
111
111
  def set_oauth_body
@@ -14,9 +14,7 @@ module OAuth::Client
14
14
  @options[:signature_method] ||= "HMAC-SHA1"
15
15
  end
16
16
 
17
- def options
18
- @options
19
- end
17
+ attr_reader :options
20
18
 
21
19
  def nonce
22
20
  options[:nonce] ||= generate_key
@@ -40,26 +38,25 @@ module OAuth::Client
40
38
  "oauth_session_handle" => options[:oauth_session_handle]
41
39
  }
42
40
  allowed_empty_params = options[:allow_empty_params]
43
- if allowed_empty_params != true && !allowed_empty_params.kind_of?(Array)
41
+ if allowed_empty_params != true && !allowed_empty_params.is_a?(Array)
44
42
  allowed_empty_params = allowed_empty_params == false ? [] : [allowed_empty_params]
45
43
  end
46
- out.select! { |k,v| v.to_s != "" || allowed_empty_params == true || allowed_empty_params.include?(k) }
44
+ out.select! { |k, v| v.to_s != "" || allowed_empty_params == true || allowed_empty_params.include?(k) }
47
45
  out
48
46
  end
49
47
 
50
48
  def signature(extra_options = {})
51
- OAuth::Signature.sign(@request, { :uri => options[:request_uri],
52
- :consumer => options[:consumer],
53
- :token => options[:token],
54
- :unsigned_parameters => options[:unsigned_parameters]
55
- }.merge(extra_options) )
49
+ OAuth::Signature.sign(@request, { uri: options[:request_uri],
50
+ consumer: options[:consumer],
51
+ token: options[:token],
52
+ unsigned_parameters: options[:unsigned_parameters] }.merge(extra_options))
56
53
  end
57
54
 
58
55
  def signature_base_string(extra_options = {})
59
- OAuth::Signature.signature_base_string(@request, { :uri => options[:request_uri],
60
- :consumer => options[:consumer],
61
- :token => options[:token],
62
- :parameters => oauth_parameters}.merge(extra_options) )
56
+ OAuth::Signature.signature_base_string(@request, { uri: options[:request_uri],
57
+ consumer: options[:consumer],
58
+ token: options[:token],
59
+ parameters: oauth_parameters }.merge(extra_options))
63
60
  end
64
61
 
65
62
  def token_request?
@@ -67,7 +64,7 @@ module OAuth::Client
67
64
  end
68
65
 
69
66
  def hash_body
70
- @options[:body_hash] = OAuth::Signature.body_hash(@request, :parameters => oauth_parameters)
67
+ @options[:body_hash] = OAuth::Signature.body_hash(@request, parameters: oauth_parameters)
71
68
  end
72
69
 
73
70
  def amend_user_agent_header(headers)
@@ -82,9 +79,9 @@ module OAuth::Client
82
79
 
83
80
  def header
84
81
  parameters = oauth_parameters
85
- parameters.merge!("oauth_signature" => signature(options.merge(:parameters => parameters)))
82
+ parameters["oauth_signature"] = signature(options.merge(parameters: parameters))
86
83
 
87
- header_params_str = parameters.sort.map { |k,v| "#{k}=\"#{escape(v)}\"" }.join(", ")
84
+ header_params_str = parameters.sort.map { |k, v| "#{k}=\"#{escape(v)}\"" }.join(", ")
88
85
 
89
86
  realm = "realm=\"#{options[:realm]}\", " if options[:realm]
90
87
  "OAuth #{realm}#{header_params_str}"
@@ -27,7 +27,7 @@ class Net::HTTPGenericRequest
27
27
  @oauth_helper = OAuth::Client::Helper.new(self, helper_options)
28
28
  @oauth_helper.amend_user_agent_header(self)
29
29
  @oauth_helper.hash_body if oauth_body_hash_required?
30
- self.send("set_oauth_#{helper_options[:scheme]}")
30
+ send("set_oauth_#{helper_options[:scheme]}")
31
31
  end
32
32
 
33
33
  # Create a string suitable for signing for an HTTP request. This process involves parameter
@@ -52,34 +52,34 @@ class Net::HTTPGenericRequest
52
52
  @oauth_helper.signature_base_string
53
53
  end
54
54
 
55
- private
55
+ private
56
56
 
57
57
  def oauth_helper_options(http, consumer, token, options)
58
- { :request_uri => oauth_full_request_uri(http,options),
59
- :consumer => consumer,
60
- :token => token,
61
- :scheme => "header",
62
- :signature_method => nil,
63
- :nonce => nil,
64
- :timestamp => nil }.merge(options)
58
+ { request_uri: oauth_full_request_uri(http, options),
59
+ consumer: consumer,
60
+ token: token,
61
+ scheme: "header",
62
+ signature_method: nil,
63
+ nonce: nil,
64
+ timestamp: nil }.merge(options)
65
65
  end
66
66
 
67
- def oauth_full_request_uri(http,options)
68
- uri = URI.parse(self.path)
67
+ def oauth_full_request_uri(http, options)
68
+ uri = URI.parse(path)
69
69
  uri.host = http.address
70
70
  uri.port = http.port
71
71
 
72
72
  if options[:request_endpoint] && options[:site]
73
- is_https = options[:site].match(%r(^https://))
74
- uri.host = options[:site].gsub(%r(^https?://), "")
73
+ is_https = options[:site].match(%r{^https://})
74
+ uri.host = options[:site].gsub(%r{^https?://}, "")
75
75
  uri.port ||= is_https ? 443 : 80
76
76
  end
77
77
 
78
- if http.respond_to?(:use_ssl?) && http.use_ssl?
79
- uri.scheme = "https"
80
- else
81
- uri.scheme = "http"
82
- end
78
+ uri.scheme = if http.respond_to?(:use_ssl?) && http.use_ssl?
79
+ "https"
80
+ else
81
+ "http"
82
+ end
83
83
 
84
84
  uri.to_s
85
85
  end
@@ -100,19 +100,19 @@ private
100
100
  # base string.
101
101
 
102
102
  def set_oauth_body
103
- self.set_form_data(@oauth_helper.stringify_keys(@oauth_helper.parameters_with_oauth))
104
- params_with_sig = @oauth_helper.parameters.merge(:oauth_signature => @oauth_helper.signature)
105
- self.set_form_data(@oauth_helper.stringify_keys(params_with_sig))
103
+ set_form_data(@oauth_helper.stringify_keys(@oauth_helper.parameters_with_oauth))
104
+ params_with_sig = @oauth_helper.parameters.merge(oauth_signature: @oauth_helper.signature)
105
+ set_form_data(@oauth_helper.stringify_keys(params_with_sig))
106
106
  end
107
107
 
108
108
  def set_oauth_query_string
109
- oauth_params_str = @oauth_helper.oauth_parameters.map { |k,v| [escape(k), escape(v)] * "=" }.join("&")
109
+ oauth_params_str = @oauth_helper.oauth_parameters.map { |k, v| [escape(k), escape(v)].join("=") }.join("&")
110
110
  uri = URI.parse(path)
111
- if uri.query.to_s == ""
112
- uri.query = oauth_params_str
113
- else
114
- uri.query = uri.query + "&" + oauth_params_str
115
- end
111
+ uri.query = if uri.query.to_s == ""
112
+ oauth_params_str
113
+ else
114
+ uri.query + "&" + oauth_params_str
115
+ end
116
116
 
117
117
  @path = uri.to_s
118
118
 
data/lib/oauth/client.rb CHANGED
File without changes
@@ -16,8 +16,8 @@ module OAuth
16
16
  end
17
17
  end
18
18
 
19
- if !defined?(CA_FILE)
20
- CA_FILES = %W(/etc/ssl/certs/ca-certificates.crt /etc/pki/tls/certs/ca-bundle.crt /usr/share/curl/curl-ca-bundle.crt)
19
+ unless defined?(CA_FILE)
20
+ CA_FILES = %w[/etc/ssl/certs/ca-certificates.crt /etc/pki/tls/certs/ca-bundle.crt /usr/share/curl/curl-ca-bundle.crt].freeze
21
21
  CA_FILES.each do |ca_file|
22
22
  if File.exist?(ca_file)
23
23
  CA_FILE = ca_file
@@ -29,15 +29,15 @@ module OAuth
29
29
 
30
30
  @@default_options = {
31
31
  # Signature method used by server. Defaults to HMAC-SHA1
32
- :signature_method => "HMAC-SHA1",
32
+ signature_method: "HMAC-SHA1",
33
33
 
34
34
  # default paths on site. These are the same as the defaults set up by the generators
35
- :request_token_path => "/oauth/request_token",
36
- :authenticate_path => "/oauth/authenticate",
37
- :authorize_path => "/oauth/authorize",
38
- :access_token_path => "/oauth/access_token",
35
+ request_token_path: "/oauth/request_token",
36
+ authenticate_path: "/oauth/authenticate",
37
+ authorize_path: "/oauth/authorize",
38
+ access_token_path: "/oauth/access_token",
39
39
 
40
- :proxy => nil,
40
+ proxy: nil,
41
41
  # How do we send the oauth values to the server see
42
42
  # https://oauth.net/core/1.0/#consumer_req_param for more info
43
43
  #
@@ -46,10 +46,10 @@ module OAuth
46
46
  # :header - via the Authorize header (Default) ( option 1. in spec)
47
47
  # :body - url form encoded in body of POST request ( option 2. in spec)
48
48
  # :query_string - via the query part of the url ( option 3. in spec)
49
- :scheme => :header,
49
+ scheme: :header,
50
50
 
51
51
  # Default http method used for OAuth Token Requests (defaults to :post)
52
- :http_method => :post,
52
+ http_method: :post,
53
53
 
54
54
  # Add a custom ca_file for consumer
55
55
  # :ca_file => '/etc/certs.pem'
@@ -59,9 +59,9 @@ module OAuth
59
59
  # nil, false - no debug output
60
60
  # true - uses $stdout
61
61
  # some_value - uses some_value
62
- :debug_output => nil,
62
+ debug_output: nil,
63
63
 
64
- :oauth_version => "1.0"
64
+ oauth_version: "1.0"
65
65
  }
66
66
 
67
67
  attr_accessor :options, :key, :secret
@@ -94,9 +94,8 @@ module OAuth
94
94
  @secret = consumer_secret
95
95
 
96
96
  # ensure that keys are symbols
97
- @options = @@default_options.merge(options.inject({}) do |opts, (key, value)|
97
+ @options = @@default_options.merge(options.each_with_object({}) do |(key, value), opts|
98
98
  opts[key.to_sym] = value
99
- opts
100
99
  end)
101
100
  end
102
101
 
@@ -127,7 +126,7 @@ module OAuth
127
126
  if custom_uri
128
127
  @uri = custom_uri
129
128
  @http = create_http # yike, oh well. less intrusive this way
130
- else # if no custom passed, we use existing, which, if unset, is set to site uri
129
+ else # if no custom passed, we use existing, which, if unset, is set to site uri
131
130
  @uri ||= URI.parse(site)
132
131
  end
133
132
  end
@@ -156,18 +155,18 @@ module OAuth
156
155
  # will be exchanged out of band
157
156
  request_options[:oauth_callback] ||= OAuth::OUT_OF_BAND unless request_options[:exclude_callback]
158
157
 
159
- if block_given?
160
- response = token_request(
161
- http_method,
162
- (request_token_url? ? request_token_url : request_token_path),
163
- nil,
164
- request_options,
165
- *arguments,
166
- &block
167
- )
168
- else
169
- response = token_request(http_method, (request_token_url? ? request_token_url : request_token_path), nil, request_options, *arguments)
170
- end
158
+ response = if block_given?
159
+ token_request(
160
+ http_method,
161
+ (request_token_url? ? request_token_url : request_token_path),
162
+ nil,
163
+ request_options,
164
+ *arguments,
165
+ &block
166
+ )
167
+ else
168
+ token_request(http_method, (request_token_url? ? request_token_url : request_token_path), nil, request_options, *arguments)
169
+ end
171
170
  OAuth::RequestToken.from_hash(self, response)
172
171
  end
173
172
 
@@ -190,18 +189,18 @@ module OAuth
190
189
 
191
190
  # override the request with your own, this is useful for file uploads which Net::HTTP does not do
192
191
  req = create_signed_request(http_method, path, token, request_options, *arguments)
193
- return nil if block_given? and yield(req) == :done
192
+ return nil if block_given? && (yield(req) == :done)
194
193
  rsp = http.request(req)
195
194
  # check for an error reported by the Problem Reporting extension
196
195
  # (https://wiki.oauth.net/ProblemReporting)
197
196
  # note: a 200 may actually be an error; check for an oauth_problem key to be sure
198
197
  if !(headers = rsp.to_hash["www-authenticate"]).nil? &&
199
- (h = headers.select { |hdr| hdr =~ /^OAuth / }).any? &&
200
- h.first =~ /oauth_problem/
198
+ (h = headers.select { |hdr| hdr =~ /^OAuth / }).any? &&
199
+ h.first =~ /oauth_problem/
201
200
 
202
201
  # puts "Header: #{h.first}"
203
202
 
204
- # TODO doesn't handle broken responses from api.login.yahoo.com
203
+ # TODO: doesn't handle broken responses from api.login.yahoo.com
205
204
  # remove debug code when done
206
205
  params = OAuth::Helper.parse_header(h.first)
207
206
 
@@ -235,10 +234,9 @@ module OAuth
235
234
  # symbolize keys
236
235
  # TODO this could be considered unexpected behavior; symbols or not?
237
236
  # TODO this also drops subsequent values from multi-valued keys
238
- CGI.parse(response.body).inject({}) do |h,(k,v)|
237
+ CGI.parse(response.body).each_with_object({}) do |(k, v), h|
239
238
  h[k.strip.to_sym] = v.first
240
239
  h[k.strip] = v.first
241
- h
242
240
  end
243
241
  end
244
242
  when (300..399)
@@ -250,11 +248,11 @@ module OAuth
250
248
  response.error! if uri.path == path && our_uri.host == uri.host
251
249
 
252
250
  if uri.path == path && our_uri.host != uri.host
253
- options[:site] = "#{uri.scheme}://#{uri.host}"
254
- @http = create_http
251
+ options[:site] = "#{uri.scheme}://#{uri.host}"
252
+ @http = create_http
255
253
  end
256
254
 
257
- self.token_request(http_method, uri.path, token, request_options, arguments)
255
+ token_request(http_method, uri.path, token, request_options, arguments)
258
256
  when (400..499)
259
257
  raise OAuth::Unauthorized, response
260
258
  else
@@ -301,13 +299,13 @@ module OAuth
301
299
  @options[:access_token_path]
302
300
  end
303
301
 
304
- # TODO this is ugly, rewrite
302
+ # TODO: this is ugly, rewrite
305
303
  def request_token_url
306
304
  @options[:request_token_url] || site + request_token_path
307
305
  end
308
306
 
309
307
  def request_token_url?
310
- @options.has_key?(:request_token_url)
308
+ @options.key?(:request_token_url)
311
309
  end
312
310
 
313
311
  def authenticate_url
@@ -315,7 +313,7 @@ module OAuth
315
313
  end
316
314
 
317
315
  def authenticate_url?
318
- @options.has_key?(:authenticate_url)
316
+ @options.key?(:authenticate_url)
319
317
  end
320
318
 
321
319
  def authorize_url
@@ -323,7 +321,7 @@ module OAuth
323
321
  end
324
322
 
325
323
  def authorize_url?
326
- @options.has_key?(:authorize_url)
324
+ @options.key?(:authorize_url)
327
325
  end
328
326
 
329
327
  def access_token_url
@@ -331,7 +329,7 @@ module OAuth
331
329
  end
332
330
 
333
331
  def access_token_url?
334
- @options.has_key?(:access_token_url)
332
+ @options.key?(:access_token_url)
335
333
  end
336
334
 
337
335
  def proxy
@@ -342,10 +340,7 @@ module OAuth
342
340
 
343
341
  # Instantiates the http object
344
342
  def create_http(_url = nil)
345
-
346
- if !request_endpoint.nil?
347
- _url = request_endpoint
348
- end
343
+ _url = request_endpoint unless request_endpoint.nil?
349
344
 
350
345
  our_uri = if _url.nil? || _url[0] =~ /^\//
351
346
  URI.parse(site)
@@ -372,10 +367,8 @@ module OAuth
372
367
  if @options[:no_verify]
373
368
  http_object.verify_mode = OpenSSL::SSL::VERIFY_NONE
374
369
  else
375
- ca_file = @options[:ca_file] || CA_FILE
376
- if ca_file
377
- http_object.ca_file = ca_file
378
- end
370
+ ca_file = @options[:ca_file] || CA_FILE
371
+ http_object.ca_file = ca_file if ca_file
379
372
  http_object.verify_mode = OpenSSL::SSL::VERIFY_PEER
380
373
  http_object.verify_depth = 5
381
374
  end
@@ -394,9 +387,7 @@ module OAuth
394
387
  def create_http_request(http_method, path, *arguments)
395
388
  http_method = http_method.to_sym
396
389
 
397
- if [:post, :put, :patch].include?(http_method)
398
- data = arguments.shift
399
- end
390
+ data = arguments.shift if %i[post put patch].include?(http_method)
400
391
 
401
392
  # if the base site contains a path, add it now
402
393
  # only add if the site host matches the current http object's host
@@ -408,22 +399,22 @@ module OAuth
408
399
 
409
400
  case http_method
410
401
  when :post
411
- request = Net::HTTP::Post.new(path,headers)
402
+ request = Net::HTTP::Post.new(path, headers)
412
403
  request["Content-Length"] = "0" # Default to 0
413
404
  when :put
414
- request = Net::HTTP::Put.new(path,headers)
405
+ request = Net::HTTP::Put.new(path, headers)
415
406
  request["Content-Length"] = "0" # Default to 0
416
407
  when :patch
417
- request = Net::HTTP::Patch.new(path,headers)
408
+ request = Net::HTTP::Patch.new(path, headers)
418
409
  request["Content-Length"] = "0" # Default to 0
419
410
  when :get
420
- request = Net::HTTP::Get.new(path,headers)
411
+ request = Net::HTTP::Get.new(path, headers)
421
412
  when :delete
422
- request = Net::HTTP::Delete.new(path,headers)
413
+ request = Net::HTTP::Delete.new(path, headers)
423
414
  when :head
424
- request = Net::HTTP::Head.new(path,headers)
415
+ request = Net::HTTP::Head.new(path, headers)
425
416
  else
426
- raise ArgumentError, "Don't know how to handle http_method: :#{http_method.to_s}"
417
+ raise ArgumentError, "Don't know how to handle http_method: :#{http_method}"
427
418
  end
428
419
 
429
420
  if data.is_a?(Hash)
@@ -448,13 +439,12 @@ module OAuth
448
439
  request
449
440
  end
450
441
 
451
- def marshal_dump(*args)
452
- {:key => @key, :secret => @secret, :options => @options}
442
+ def marshal_dump(*_args)
443
+ { key: @key, secret: @secret, options: @options }
453
444
  end
454
445
 
455
446
  def marshal_load(data)
456
447
  initialize(data[:key], data[:secret], data[:options])
457
448
  end
458
-
459
449
  end
460
450
  end
File without changes
File without changes
File without changes
data/lib/oauth/errors.rb CHANGED
File without changes
data/lib/oauth/helper.rb CHANGED
@@ -24,11 +24,11 @@ module OAuth
24
24
 
25
25
  # Generate a random key of up to +size+ bytes. The value returned is Base64 encoded with non-word
26
26
  # characters removed.
27
- def generate_key(size=32)
27
+ def generate_key(size = 32)
28
28
  Base64.encode64(OpenSSL::Random.random_bytes(size)).gsub(/\W/, "")
29
29
  end
30
30
 
31
- alias_method :generate_nonce, :generate_key
31
+ alias generate_nonce generate_key
32
32
 
33
33
  def generate_timestamp #:nodoc:
34
34
  Time.now.to_i.to_s
@@ -51,13 +51,13 @@ module OAuth
51
51
  normalize_nested_query(values, k)
52
52
  else
53
53
  values.sort.collect do |v|
54
- [escape(k),escape(v)] * "="
54
+ [escape(k), escape(v)].join("=")
55
55
  end
56
56
  end
57
57
  elsif values.is_a?(Hash)
58
58
  normalize_nested_query(values, k)
59
59
  else
60
- [escape(k),escape(values)] * "="
60
+ [escape(k), escape(values)].join("=")
61
61
  end
62
62
  end * "&"
63
63
  end
@@ -76,7 +76,7 @@ module OAuth
76
76
  normalize_nested_query(v, prefix ? "#{prefix}[#{k}]" : k)
77
77
  end.flatten.sort
78
78
  else
79
- [escape(prefix), escape(value)] * "="
79
+ [escape(prefix), escape(value)].join("=")
80
80
  end
81
81
  end
82
82
 
@@ -90,10 +90,10 @@ module OAuth
90
90
  #
91
91
  def parse_header(header)
92
92
  # decompose
93
- params = header[6,header.length].split(/[,=&]/)
93
+ params = header[6, header.length].split(/[,=&]/)
94
94
 
95
95
  # odd number of arguments - must be a malformed header.
96
- raise OAuth::Problem.new("Invalid authorization header") if params.size % 2 != 0
96
+ raise OAuth::Problem, "Invalid authorization header" if params.size.odd?
97
97
 
98
98
  params.map! do |v|
99
99
  # strip and unescape