Parent

Included Modules

OAuth::Signature::Base

Attributes

options[RW]
token_secret[R]
consumer_secret[R]
request[R]

Public Class Methods

digest_class(digest_class = nil) click to toggle source
    # File lib/oauth/signature/base.rb, line 19
19:     def self.digest_class(digest_class = nil)
20:       return @digest_class if digest_class.nil?
21:       @digest_class = digest_class
22:     end
digest_klass(digest_klass = nil) click to toggle source
    # File lib/oauth/signature/base.rb, line 24
24:     def self.digest_klass(digest_klass = nil)
25:       return @digest_klass if digest_klass.nil?
26:       @digest_klass = digest_klass
27:     end
hash_class(hash_class = nil) click to toggle source
    # File lib/oauth/signature/base.rb, line 29
29:     def self.hash_class(hash_class = nil)
30:       return @hash_class if hash_class.nil?
31:       @hash_class = hash_class
32:     end
implements(signature_method = nil) click to toggle source
    # File lib/oauth/signature/base.rb, line 13
13:     def self.implements(signature_method = nil)
14:       return @implements if signature_method.nil? 
15:       @implements = signature_method
16:       OAuth::Signature.available_methods[@implements] = self
17:     end
new(request, options = {}, &block) click to toggle source
    # File lib/oauth/signature/base.rb, line 34
34:     def initialize(request, options = {}, &block)
35:       raise TypeError unless request.kind_of?(OAuth::RequestProxy::Base)
36:       @request = request
37:       @options = options
38: 
39:       ## consumer secret was determined beforehand
40: 
41:       @consumer_secret = options[:consumer].secret if options[:consumer]
42: 
43:       # presence of :consumer_secret option will override any Consumer that's provided
44:       @consumer_secret = options[:consumer_secret] if options[:consumer_secret]
45: 
46:       ## token secret was determined beforehand
47: 
48:       @token_secret = options[:token].secret if options[:token]
49: 
50:       # presence of :token_secret option will override any Token that's provided
51:       @token_secret = options[:token_secret] if options[:token_secret]
52: 
53:       # override secrets based on the values returned from the block (if any)
54:       if block_given?
55:         # consumer secret and token secret need to be looked up based on pieces of the request
56:         secrets = yield block.arity == 1 ? request : [token, consumer_key, nonce, request.timestamp]
57:         if secrets.is_a?(Array) && secrets.size == 2
58:           @token_secret = secrets[0]
59:           @consumer_secret = secrets[1]
60:         end
61:       end
62:     end

Public Instance Methods

==(cmp_signature) click to toggle source
    # File lib/oauth/signature/base.rb, line 68
68:     def ==(cmp_signature)
69:       Base64.decode64(signature) == Base64.decode64(cmp_signature)
70:     end
body_hash() click to toggle source
    # File lib/oauth/signature/base.rb, line 80
80:     def body_hash
81:       if self.class.hash_class
82:         Base64.encode64(self.class.hash_class.digest(request.body || '')).chomp.gsub(/\n/,'')
83:       else
84:         nil # no body hash algorithm defined, so don't generate one
85:       end
86:     end
signature() click to toggle source
    # File lib/oauth/signature/base.rb, line 64
64:     def signature
65:       Base64.encode64(digest).chomp.gsub(/\n/,'')
66:     end
signature_base_string() click to toggle source
    # File lib/oauth/signature/base.rb, line 76
76:     def signature_base_string
77:       request.signature_base_string
78:     end
verify() click to toggle source
    # File lib/oauth/signature/base.rb, line 72
72:     def verify
73:       self == self.request.signature
74:     end

Private Instance Methods

consumer_key() click to toggle source
    # File lib/oauth/signature/base.rb, line 94
94:     def consumer_key
95:       request.consumer_key
96:     end
digest() click to toggle source
     # File lib/oauth/signature/base.rb, line 106
106:     def digest
107:       self.class.digest_class.digest(signature_base_string)
108:     end
nonce() click to toggle source
     # File lib/oauth/signature/base.rb, line 98
 98:     def nonce
 99:       request.nonce
100:     end
secret() click to toggle source
     # File lib/oauth/signature/base.rb, line 102
102:     def secret
103:       "#{escape(consumer_secret)}&#{escape(token_secret)}"
104:     end
token() click to toggle source
    # File lib/oauth/signature/base.rb, line 90
90:     def token
91:       request.token
92:     end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.