Class: OAuthSimple::Consumer

Inherits:
Object
  • Object
show all
Defined in:
lib/oauth-simple/consumer.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(key, secret, options = {}) ⇒ Consumer

Returns a new instance of Consumer.



25
26
27
28
29
# File 'lib/oauth-simple/consumer.rb', line 25

def initialize(key, secret, options = {})
  @key = key
  @secret = secret
  @options = self.class.default_options.merge(options)
end

Instance Attribute Details

#keyObject (readonly)

Returns the value of attribute key.



24
25
26
# File 'lib/oauth-simple/consumer.rb', line 24

def key
  @key
end

#secretObject (readonly)

Returns the value of attribute secret.



24
25
26
# File 'lib/oauth-simple/consumer.rb', line 24

def secret
  @secret
end

Class Method Details

.default_optionsObject

Default options, can be overridden in the initializer’s options hash



32
33
34
35
36
37
38
39
40
# File 'lib/oauth-simple/consumer.rb', line 32

def self.default_options
  {
    :scheme             => :header,
    :authorize_path     => '/oauth/authorize',
    :access_token_path  => '/oauth/access_token',
    :request_token_path => '/oauth/request_token',
    :signature_method   => 'HMAC-SHA1'
  }
end

Instance Method Details

#access_token_pathObject



54
55
56
# File 'lib/oauth-simple/consumer.rb', line 54

def access_token_path
  @options[:access_token_path]
end

#access_token_urlObject



83
84
85
# File 'lib/oauth-simple/consumer.rb', line 83

def access_token_url
  @options[:access_token_url] || File.join(site, access_token_path)
end

#authorize_pathObject



50
51
52
# File 'lib/oauth-simple/consumer.rb', line 50

def authorize_path
  @options[:authorize_path]
end

#authorize_urlObject



87
88
89
# File 'lib/oauth-simple/consumer.rb', line 87

def authorize_url
  @options[:authorize_url] || File.join(site, authorize_path)
end

#get_request_tokenObject



70
71
72
73
74
75
76
77
# File 'lib/oauth-simple/consumer.rb', line 70

def get_request_token
  r = Request.from_consumer_and_token(self, nil, request_token_url)
  r.sign_request(signature_method)
  response = http.get(request_token_url, r.to_header)
  result = Token.from_string(response)
  result.consumer = self
  return result
end

#httpObject



62
63
64
# File 'lib/oauth-simple/consumer.rb', line 62

def http
  HttpClient.new
end

#request_token_pathObject



58
59
60
# File 'lib/oauth-simple/consumer.rb', line 58

def request_token_path
  @options[:request_token_path]
end

#request_token_urlObject



79
80
81
# File 'lib/oauth-simple/consumer.rb', line 79

def request_token_url
  @options[:request_token_url] || File.join(site, request_token_path)
end

#schemeObject



46
47
48
# File 'lib/oauth-simple/consumer.rb', line 46

def scheme
  @options[:scheme]
end

#signature_methodObject



66
67
68
# File 'lib/oauth-simple/consumer.rb', line 66

def signature_method
  SignatureMethod.by_name(@options[:signature_method])
end

#siteObject



42
43
44
# File 'lib/oauth-simple/consumer.rb', line 42

def site
  @options[:site]
end