oauth 0.5.7.pre.pre1 → 0.5.9

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 +54 -104
  3. data/CODE_OF_CONDUCT.md +0 -0
  4. data/CONTRIBUTING.md +23 -0
  5. data/LICENSE +0 -0
  6. data/README.md +50 -67
  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 +50 -51
  30. data/lib/oauth/request_proxy/action_dispatch_request.rb +7 -3
  31. data/lib/oauth/request_proxy/base.rb +134 -130
  32. data/lib/oauth/request_proxy/curb_request.rb +45 -39
  33. data/lib/oauth/request_proxy/em_http_request.rb +56 -52
  34. data/lib/oauth/request_proxy/jabber_request.rb +9 -6
  35. data/lib/oauth/request_proxy/mock_request.rb +3 -1
  36. data/lib/oauth/request_proxy/net_http.rb +59 -50
  37. data/lib/oauth/request_proxy/rack_request.rb +32 -28
  38. data/lib/oauth/request_proxy/rest_client_request.rb +48 -45
  39. data/lib/oauth/request_proxy/typhoeus_request.rb +45 -39
  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 +12 -163
@@ -1,72 +1,81 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "oauth/request_proxy/base"
2
4
  require "net/http"
3
5
  require "uri"
4
6
  require "cgi"
5
7
 
6
- module OAuth::RequestProxy::Net
7
- module HTTP
8
- class HTTPRequest < OAuth::RequestProxy::Base
9
- proxies ::Net::HTTPGenericRequest
8
+ module OAuth
9
+ module RequestProxy
10
+ module Net
11
+ module HTTP
12
+ class HTTPRequest < OAuth::RequestProxy::Base
13
+ proxies ::Net::HTTPGenericRequest
10
14
 
11
- def method
12
- request.method
13
- end
15
+ def method
16
+ request.method
17
+ end
14
18
 
15
- def uri
16
- options[:uri].to_s
17
- end
19
+ def uri
20
+ options[:uri].to_s
21
+ end
18
22
 
19
- def parameters
20
- if options[:clobber_request]
21
- options[:parameters]
22
- else
23
- all_parameters
24
- end
25
- end
23
+ def parameters
24
+ if options[:clobber_request]
25
+ options[:parameters]
26
+ else
27
+ all_parameters
28
+ end
29
+ end
26
30
 
27
- def body
28
- request.body
29
- end
31
+ def body
32
+ request.body
33
+ end
30
34
 
31
- private
35
+ private
32
36
 
33
- def all_parameters
34
- request_params = CGI.parse(query_string)
35
- # request_params.each{|k,v| request_params[k] = [nil] if v == []}
37
+ def all_parameters
38
+ request_params = CGI.parse(query_string)
39
+ # request_params.each{|k,v| request_params[k] = [nil] if v == []}
36
40
 
37
- if options[:parameters]
38
- options[:parameters].each do |k,v|
39
- if request_params.has_key?(k) && v
40
- request_params[k] << v
41
- else
42
- request_params[k] = [v]
41
+ if options[:parameters]
42
+ options[:parameters].each do |k, v|
43
+ if request_params.key?(k) && v
44
+ request_params[k] << v
45
+ else
46
+ request_params[k] = [v]
47
+ end
48
+ end
43
49
  end
50
+ request_params
44
51
  end
45
- end
46
- request_params
47
- end
48
52
 
49
- def query_string
50
- params = [ query_params, auth_header_params ]
51
- params << post_params if (method.to_s.upcase == "POST" || method.to_s.upcase == "PUT") && form_url_encoded?
52
- params.compact.join("&")
53
- end
53
+ def query_string
54
+ params = [query_params, auth_header_params]
55
+ if (method.to_s.casecmp("POST").zero? || method.to_s.casecmp("PUT").zero?) && form_url_encoded?
56
+ params << post_params
57
+ end
58
+ params.compact.join("&")
59
+ end
54
60
 
55
- def form_url_encoded?
56
- request["Content-Type"] != nil && request["Content-Type"].to_s.downcase.start_with?("application/x-www-form-urlencoded")
57
- end
61
+ def form_url_encoded?
62
+ !request["Content-Type"].nil? && request["Content-Type"].to_s.downcase.start_with?("application/x-www-form-urlencoded")
63
+ end
58
64
 
59
- def query_params
60
- URI.parse(request.path).query
61
- end
65
+ def query_params
66
+ URI.parse(request.path).query
67
+ end
62
68
 
63
- def post_params
64
- request.body
65
- end
69
+ def post_params
70
+ request.body
71
+ end
66
72
 
67
- def auth_header_params
68
- return nil unless request["Authorization"] && request["Authorization"][0,5] == "OAuth"
69
- request["Authorization"]
73
+ def auth_header_params
74
+ return nil unless request["Authorization"] && request["Authorization"][0, 5] == "OAuth"
75
+
76
+ request["Authorization"]
77
+ end
78
+ end
70
79
  end
71
80
  end
72
81
  end
@@ -1,43 +1,47 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "oauth/request_proxy/base"
2
4
  require "uri"
3
5
  require "rack"
4
6
 
5
- module OAuth::RequestProxy
6
- class RackRequest < OAuth::RequestProxy::Base
7
- proxies Rack::Request
7
+ module OAuth
8
+ module RequestProxy
9
+ class RackRequest < OAuth::RequestProxy::Base
10
+ proxies ::Rack::Request
8
11
 
9
- def method
10
- request.env["rack.methodoverride.original_method"] || request.request_method
11
- end
12
+ def method
13
+ request.env["rack.methodoverride.original_method"] || request.request_method
14
+ end
12
15
 
13
- def uri
14
- request.url
15
- end
16
+ def uri
17
+ request.url
18
+ end
16
19
 
17
- def parameters
18
- if options[:clobber_request]
19
- options[:parameters] || {}
20
- else
21
- params = request_params.merge(query_params).merge(header_params)
22
- params.merge(options[:parameters] || {})
20
+ def parameters
21
+ if options[:clobber_request]
22
+ options[:parameters] || {}
23
+ else
24
+ params = request_params.merge(query_params).merge(header_params)
25
+ params.merge(options[:parameters] || {})
26
+ end
23
27
  end
24
- end
25
28
 
26
- def signature
27
- parameters["oauth_signature"]
28
- end
29
+ def signature
30
+ parameters["oauth_signature"]
31
+ end
29
32
 
30
- protected
33
+ protected
31
34
 
32
- def query_params
33
- request.GET
34
- end
35
+ def query_params
36
+ request.GET
37
+ end
35
38
 
36
- def request_params
37
- if request.content_type and request.content_type.to_s.downcase.start_with?("application/x-www-form-urlencoded")
38
- request.POST
39
- else
40
- {}
39
+ def request_params
40
+ if request.content_type && request.content_type.to_s.downcase.start_with?("application/x-www-form-urlencoded")
41
+ request.POST
42
+ else
43
+ {}
44
+ end
41
45
  end
42
46
  end
43
47
  end
@@ -1,62 +1,65 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "oauth/request_proxy/base"
2
4
  require "rest-client"
3
5
  require "uri"
4
6
  require "cgi"
5
7
 
6
- module OAuth::RequestProxy::RestClient
7
- class Request < OAuth::RequestProxy::Base
8
- proxies RestClient::Request
9
-
10
- def method
11
- request.method.to_s.upcase
12
- end
8
+ module OAuth
9
+ module RequestProxy
10
+ module RestClient
11
+ class Request < OAuth::RequestProxy::Base
12
+ proxies ::RestClient::Request
13
13
 
14
- def uri
15
- request.url
16
- end
14
+ def method
15
+ request.method.to_s.upcase
16
+ end
17
17
 
18
- def parameters
19
- if options[:clobber_request]
20
- options[:parameters] || {}
21
- else
22
- post_parameters.merge(query_params).merge(options[:parameters] || {})
18
+ def uri
19
+ request.url
23
20
  end
24
- end
25
21
 
26
- protected
22
+ def parameters
23
+ if options[:clobber_request]
24
+ options[:parameters] || {}
25
+ else
26
+ post_parameters.merge(query_params).merge(options[:parameters] || {})
27
+ end
28
+ end
27
29
 
28
- def query_params
29
- query = URI.parse(request.url).query
30
- query ? CGI.parse(query) : {}
31
- end
30
+ protected
32
31
 
33
- def request_params
34
- end
35
-
36
- def post_parameters
37
- # Post params are only used if posting form data
38
- if method == "POST" || method == "PUT"
39
- OAuth::Helper.stringify_keys(query_string_to_hash(request.payload.to_s) || {})
40
- else
41
- {}
32
+ def query_params
33
+ query = URI.parse(request.url).query
34
+ query ? CGI.parse(query) : {}
42
35
  end
43
- end
44
-
45
- private
46
-
47
- def query_string_to_hash(query)
48
- keyvals = query.split("&").inject({}) do |result, q|
49
- k,v = q.split("=")
50
- if !v.nil?
51
- result.merge({k => v})
52
- elsif !result.key?(k)
53
- result.merge({k => true})
36
+
37
+ def request_params; end
38
+
39
+ def post_parameters
40
+ # Post params are only used if posting form data
41
+ if method == "POST" || method == "PUT"
42
+ OAuth::Helper.stringify_keys(query_string_to_hash(request.payload.to_s) || {})
54
43
  else
55
- result
44
+ {}
45
+ end
46
+ end
47
+
48
+ private
49
+
50
+ def query_string_to_hash(query)
51
+ query.split("&").inject({}) do |result, q|
52
+ k, v = q.split("=")
53
+ if !v.nil?
54
+ result.merge(k => v)
55
+ elsif !result.key?(k)
56
+ result.merge(k => true)
57
+ else
58
+ result
59
+ end
56
60
  end
57
61
  end
58
- keyvals
59
62
  end
60
-
63
+ end
61
64
  end
62
- end
65
+ end
@@ -1,53 +1,59 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "oauth/request_proxy/base"
2
4
  require "typhoeus"
3
5
  require "typhoeus/request"
4
6
  require "uri"
5
7
  require "cgi"
6
8
 
7
- module OAuth::RequestProxy::Typhoeus
8
- class Request < OAuth::RequestProxy::Base
9
- # Proxy for signing Typhoeus::Request requests
10
- # Usage example:
11
- # oauth_params = {:consumer => oauth_consumer, :token => access_token}
12
- # req = Typhoeus::Request.new(uri, options)
13
- # oauth_helper = OAuth::Client::Helper.new(req, oauth_params.merge(:request_uri => uri))
14
- # req.options[:headers].merge!({"Authorization" => oauth_helper.header})
15
- # hydra = Typhoeus::Hydra.new()
16
- # hydra.queue(req)
17
- # hydra.run
18
- # response = req.response
19
- proxies Typhoeus::Request
20
-
21
- def method
22
- request_method = request.options[:method].to_s.upcase
23
- request_method.empty? ? "GET" : request_method
24
- end
9
+ module OAuth
10
+ module RequestProxy
11
+ module Typhoeus
12
+ class Request < OAuth::RequestProxy::Base
13
+ # Proxy for signing Typhoeus::Request requests
14
+ # Usage example:
15
+ # oauth_params = {:consumer => oauth_consumer, :token => access_token}
16
+ # req = Typhoeus::Request.new(uri, options)
17
+ # oauth_helper = OAuth::Client::Helper.new(req, oauth_params.merge(:request_uri => uri))
18
+ # req.options[:headers].merge!({"Authorization" => oauth_helper.header})
19
+ # hydra = Typhoeus::Hydra.new()
20
+ # hydra.queue(req)
21
+ # hydra.run
22
+ # response = req.response
23
+ proxies ::Typhoeus::Request
25
24
 
26
- def uri
27
- options[:uri].to_s
28
- end
25
+ def method
26
+ request_method = request.options[:method].to_s.upcase
27
+ request_method.empty? ? "GET" : request_method
28
+ end
29
29
 
30
- def parameters
31
- if options[:clobber_request]
32
- options[:parameters]
33
- else
34
- post_parameters.merge(query_parameters).merge(options[:parameters] || {})
35
- end
36
- end
30
+ def uri
31
+ options[:uri].to_s
32
+ end
37
33
 
38
- private
34
+ def parameters
35
+ if options[:clobber_request]
36
+ options[:parameters]
37
+ else
38
+ post_parameters.merge(query_parameters).merge(options[:parameters] || {})
39
+ end
40
+ end
39
41
 
40
- def query_parameters
41
- query = URI.parse(request.url).query
42
- query ? CGI.parse(query) : {}
43
- end
42
+ private
43
+
44
+ def query_parameters
45
+ query = URI.parse(request.url).query
46
+ query ? CGI.parse(query) : {}
47
+ end
44
48
 
45
- def post_parameters
46
- # Post params are only used if posting form data
47
- if method == "POST"
48
- OAuth::Helper.stringify_keys(request.options[:params] || {})
49
- else
50
- {}
49
+ def post_parameters
50
+ # Post params are only used if posting form data
51
+ if method == "POST"
52
+ OAuth::Helper.stringify_keys(request.options[:params] || {})
53
+ else
54
+ {}
55
+ end
56
+ end
51
57
  end
52
58
  end
53
59
  end
@@ -5,13 +5,13 @@ module OAuth
5
5
  end
6
6
 
7
7
  def self.proxy(request, options = {})
8
- return request if request.kind_of?(OAuth::RequestProxy::Base)
8
+ return request if request.is_a?(OAuth::RequestProxy::Base)
9
9
 
10
10
  klass = available_proxies[request.class]
11
11
 
12
12
  # Search for possible superclass matches.
13
13
  if klass.nil?
14
- request_parent = available_proxies.keys.find { |rc| request.kind_of?(rc) }
14
+ request_parent = available_proxies.keys.find { |rc| request.is_a?(rc) }
15
15
  klass = available_proxies[request_parent]
16
16
  end
17
17
 
@@ -19,6 +19,6 @@ module OAuth
19
19
  klass.new(request, options)
20
20
  end
21
21
 
22
- class UnknownRequestType < Exception; end
22
+ class UnknownRequestType < RuntimeError; end
23
23
  end
24
24
  end
data/lib/oauth/server.rb CHANGED
@@ -8,9 +8,9 @@ module OAuth
8
8
  attr_accessor :base_url
9
9
 
10
10
  @@server_paths = {
11
- :request_token_path => "/oauth/request_token",
12
- :authorize_path => "/oauth/authorize",
13
- :access_token_path => "/oauth/access_token"
11
+ request_token_path: "/oauth/request_token",
12
+ authorize_path: "/oauth/authorize",
13
+ access_token_path: "/oauth/access_token"
14
14
  }
15
15
 
16
16
  # Create a new server instance
@@ -23,7 +23,7 @@ module OAuth
23
23
  [generate_key(16), generate_key]
24
24
  end
25
25
 
26
- def generate_consumer_credentials(params = {})
26
+ def generate_consumer_credentials(_params = {})
27
27
  Consumer.new(*generate_credentials)
28
28
  end
29
29
 
@@ -31,12 +31,10 @@ module OAuth
31
31
  def create_consumer
32
32
  creds = generate_credentials
33
33
  Consumer.new(creds[0], creds[1],
34
- {
35
- :site => base_url,
36
- :request_token_path => request_token_path,
37
- :authorize_path => authorize_path,
38
- :access_token_path => access_token_path
39
- })
34
+ site: base_url,
35
+ request_token_path: request_token_path,
36
+ authorize_path: authorize_path,
37
+ access_token_path: access_token_path)
40
38
  end
41
39
 
42
40
  def request_token_path
@@ -17,7 +17,7 @@ module OAuth::Signature
17
17
  end
18
18
 
19
19
  def initialize(request, options = {}, &block)
20
- raise TypeError unless request.kind_of?(OAuth::RequestProxy::Base)
20
+ raise TypeError unless request.is_a?(OAuth::RequestProxy::Base)
21
21
  @request = request
22
22
  @options = options
23
23
 
@@ -47,7 +47,7 @@ module OAuth::Signature
47
47
  end
48
48
 
49
49
  def signature
50
- Base64.encode64(digest).chomp.gsub(/\n/,"")
50
+ Base64.encode64(digest).chomp.delete("\n")
51
51
  end
52
52
 
53
53
  def ==(cmp_signature)
@@ -57,7 +57,7 @@ module OAuth::Signature
57
57
  end
58
58
 
59
59
  def verify
60
- self == self.request.signature
60
+ self == request.signature
61
61
  end
62
62
 
63
63
  def signature_base_string
@@ -93,6 +93,5 @@ module OAuth::Signature
93
93
  def raise_instantiation_error
94
94
  raise NotImplementedError, "Cannot instantiate #{self.class.name} class directly."
95
95
  end
96
-
97
96
  end
98
97
  end
@@ -5,7 +5,7 @@ module OAuth::Signature::HMAC
5
5
  implements "hmac-sha1"
6
6
 
7
7
  def body_hash
8
- Base64.encode64(OpenSSL::Digest::SHA1.digest(request.body || "")).chomp.gsub(/\n/,"")
8
+ Base64.encode64(OpenSSL::Digest::SHA1.digest(request.body || "")).chomp.delete("\n")
9
9
  end
10
10
 
11
11
  private
@@ -5,7 +5,7 @@ module OAuth::Signature::HMAC
5
5
  implements "hmac-sha256"
6
6
 
7
7
  def body_hash
8
- Base64.encode64(OpenSSL::Digest::SHA256.digest(request.body || "")).chomp.gsub(/\n/,"")
8
+ Base64.encode64(OpenSSL::Digest::SHA256.digest(request.body || "")).chomp.delete("\n")
9
9
  end
10
10
 
11
11
  private
File without changes
@@ -19,7 +19,7 @@ module OAuth::Signature::RSA
19
19
  end
20
20
 
21
21
  def body_hash
22
- Base64.encode64(OpenSSL::Digest::SHA1.digest(request.body || "")).chomp.gsub(/\n/,"")
22
+ Base64.encode64(OpenSSL::Digest::SHA1.digest(request.body || "")).chomp.delete("\n")
23
23
  end
24
24
 
25
25
  private
@@ -27,9 +27,9 @@ module OAuth::Signature::RSA
27
27
  def decode_public_key
28
28
  case consumer_secret
29
29
  when /-----BEGIN CERTIFICATE-----/
30
- OpenSSL::X509::Certificate.new( consumer_secret).public_key
30
+ OpenSSL::X509::Certificate.new(consumer_secret).public_key
31
31
  else
32
- OpenSSL::PKey::RSA.new( consumer_secret)
32
+ OpenSSL::PKey::RSA.new(consumer_secret)
33
33
  end
34
34
  end
35
35
 
@@ -20,26 +20,26 @@ module OAuth
20
20
 
21
21
  # Sign a +request+
22
22
  def self.sign(request, options = {}, &block)
23
- self.build(request, options, &block).signature
23
+ build(request, options, &block).signature
24
24
  end
25
25
 
26
26
  # Verify the signature of +request+
27
27
  def self.verify(request, options = {}, &block)
28
- self.build(request, options, &block).verify
28
+ build(request, options, &block).verify
29
29
  end
30
30
 
31
31
  # Create the signature base string for +request+. This string is the normalized parameter information.
32
32
  #
33
33
  # See Also: {OAuth core spec version 1.0, section 9.1.1}[http://oauth.net/core/1.0#rfc.section.9.1.1]
34
34
  def self.signature_base_string(request, options = {}, &block)
35
- self.build(request, options, &block).signature_base_string
35
+ build(request, options, &block).signature_base_string
36
36
  end
37
37
 
38
38
  # Create the body hash for a request
39
39
  def self.body_hash(request, options = {}, &block)
40
- self.build(request, options, &block).body_hash
40
+ build(request, options, &block).body_hash
41
41
  end
42
42
 
43
- class UnknownSignatureMethod < Exception; end
43
+ class UnknownSignatureMethod < RuntimeError; end
44
44
  end
45
45
  end
data/lib/oauth/token.rb CHANGED
File without changes
File without changes
@@ -5,12 +5,12 @@ module OAuth
5
5
  attr_reader :response
6
6
 
7
7
  def self.from_hash(consumer, hash)
8
- token = self.new(consumer, hash[:oauth_token], hash[:oauth_token_secret])
8
+ token = new(consumer, hash[:oauth_token], hash[:oauth_token_secret])
9
9
  token.params = hash
10
10
  token
11
11
  end
12
12
 
13
- def initialize(consumer, token="", secret="")
13
+ def initialize(consumer, token = "", secret = "")
14
14
  super(token, secret)
15
15
  @consumer = consumer
16
16
  @params = {}
@@ -2,19 +2,18 @@ module OAuth
2
2
  # The RequestToken is used for the initial Request.
3
3
  # This is normally created by the Consumer object.
4
4
  class RequestToken < ConsumerToken
5
-
6
5
  # Generate an authorization URL for user authorization
7
6
  def authorize_url(params = nil)
8
- return nil if self.token.nil?
7
+ return nil if token.nil?
9
8
 
10
- params = (params || {}).merge(:oauth_token => self.token)
9
+ params = (params || {}).merge(oauth_token: token)
11
10
  build_url(consumer.authorize_url, params)
12
11
  end
13
12
 
14
13
  def authenticate_url(params = nil)
15
- return nil if self.token.nil?
14
+ return nil if token.nil?
16
15
 
17
- params = (params || {}).merge(:oauth_token => self.token)
16
+ params = (params || {}).merge(oauth_token: token)
18
17
  build_url(consumer.authenticate_url, params)
19
18
  end
20
19
 
@@ -28,16 +27,16 @@ module OAuth
28
27
  OAuth::AccessToken.from_hash(consumer, response)
29
28
  end
30
29
 
31
- protected
30
+ protected
32
31
 
33
32
  # construct an authorization or authentication url
34
33
  def build_url(base_url, params)
35
34
  uri = URI.parse(base_url.to_s)
36
35
  queries = {}
37
36
  queries = Hash[URI.decode_www_form(uri.query)] if uri.query
38
- # TODO doesn't handle array values correctly
37
+ # TODO: doesn't handle array values correctly
39
38
  queries.merge!(params) if params
40
- uri.query = URI.encode_www_form(queries) if !queries.empty?
39
+ uri.query = URI.encode_www_form(queries) unless queries.empty?
41
40
  uri.to_s
42
41
  end
43
42
  end
@@ -1,7 +1,6 @@
1
1
  module OAuth
2
2
  # Used on the server for generating tokens
3
3
  class ServerToken < Token
4
-
5
4
  def initialize
6
5
  super(generate_key(16), generate_key)
7
6
  end
File without changes