Class: OAuth::Client::Helper
- Inherits:
-
Object
- Object
- OAuth::Client::Helper
show all
- Includes:
- Helper
- Defined in:
- lib/oauth/client/helper.rb
Instance Method Summary
collapse
Methods included from Helper
#escape, #generate_key, #generate_timestamp, #normalize, #parse_header, #unescape
Constructor Details
#initialize(request, options = {}) ⇒ Helper
Returns a new instance of Helper.
11
12
13
14
15
|
# File 'lib/oauth/client/helper.rb', line 11
def initialize(request, options = {})
@request = request
@options = options
@options[:signature_method] ||= 'HMAC-SHA1'
end
|
Instance Method Details
53
54
55
56
57
58
59
60
61
|
# File 'lib/oauth/client/helper.rb', line 53
def
parameters = oauth_parameters
parameters.merge!('oauth_signature' => signature(options.merge(:parameters => parameters)))
= parameters.map { |k,v| "#{k}=\"#{escape(v)}\"" }.join(', ')
realm = "realm=\"#{options[:realm]}\", " if options[:realm]
"OAuth #{realm}#{}"
end
|
#nonce ⇒ Object
21
22
23
|
# File 'lib/oauth/client/helper.rb', line 21
def nonce
options[:nonce] ||= generate_key
end
|
#oauth_parameters ⇒ Object
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/oauth/client/helper.rb', line 29
def oauth_parameters
{
'oauth_consumer_key' => options[:consumer].key,
'oauth_token' => options[:token] ? options[:token].token : '',
'oauth_signature_method' => options[:signature_method],
'oauth_timestamp' => timestamp,
'oauth_nonce' => nonce,
'oauth_version' => '1.0'
}.reject { |k,v| v.to_s == "" }
end
|
#options ⇒ Object
17
18
19
|
# File 'lib/oauth/client/helper.rb', line 17
def options
@options
end
|
#parameters ⇒ Object
63
64
65
|
# File 'lib/oauth/client/helper.rb', line 63
def parameters
OAuth::RequestProxy.proxy(@request).parameters
end
|
#parameters_with_oauth ⇒ Object
67
68
69
|
# File 'lib/oauth/client/helper.rb', line 67
def parameters_with_oauth
oauth_parameters.merge(parameters)
end
|
#signature(extra_options = {}) ⇒ Object
40
41
42
43
44
|
# File 'lib/oauth/client/helper.rb', line 40
def signature( = {})
OAuth::Signature.sign(@request, { :uri => options[:request_uri],
:consumer => options[:consumer],
:token => options[:token] }.merge() )
end
|
#signature_base_string(extra_options = {}) ⇒ Object
46
47
48
49
50
51
|
# File 'lib/oauth/client/helper.rb', line 46
def signature_base_string( = {})
OAuth::Signature.signature_base_string(@request, { :uri => options[:request_uri],
:consumer => options[:consumer],
:token => options[:token],
:parameters => oauth_parameters}.merge() )
end
|
#timestamp ⇒ Object
25
26
27
|
# File 'lib/oauth/client/helper.rb', line 25
def timestamp
options[:timestamp] ||= generate_timestamp
end
|