Class: XingApi::Client
Constant Summary
collapse
- OAUTH_ATTRIBUTES =
[:consumer_key, :consumer_secret, :oauth_token, :oauth_token_secret].freeze
ResponseHandler::OAUTH_ERROR_RESPONSES
Class Attribute Summary collapse
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
#handle
Constructor Details
#initialize(options = {}) ⇒ Client
19
20
21
22
23
24
|
# File 'lib/xing_api/client.rb', line 19
def initialize(options = {})
options = (self.class.default_options ||= {}).merge(options)
OAUTH_ATTRIBUTES.each do |attribute|
send "#{attribute}=", options[attribute]
end
end
|
Class Attribute Details
.default_options ⇒ Object
Returns the value of attribute default_options.
10
11
12
|
# File 'lib/xing_api/client.rb', line 10
def default_options
@default_options
end
|
Instance Attribute Details
#request_token_hash ⇒ Object
Returns the value of attribute request_token_hash.
7
8
9
|
# File 'lib/xing_api/client.rb', line 7
def request_token_hash
@request_token_hash
end
|
Class Method Details
12
13
14
15
16
|
# File 'lib/xing_api/client.rb', line 12
def configure
instance = new
yield instance
self.default_options = instance.send(:to_hash)
end
|
Instance Method Details
#get_access_token(verifier, options = {}) ⇒ Object
46
47
48
49
50
51
52
53
54
55
56
57
|
# File 'lib/xing_api/client.rb', line 46
def get_access_token(verifier, options = {})
ensure_attributes_are_set! %w(consumer_key consumer_secret)
options = request_token_hash.merge(options) if request_token_hash
access_token = rebuild_request_token(options).get_access_token(oauth_verifier: verifier)
self.oauth_token = access_token.token
self.oauth_token_secret = access_token.secret
{
access_token: access_token.token,
access_token_secret: access_token.secret
}
end
|
#get_request_token(oauth_callback = 'oob') ⇒ Object
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/xing_api/client.rb', line 35
def get_request_token(oauth_callback = 'oob')
ensure_attributes_are_set! %w(consumer_key consumer_secret)
request_token = request_token(oauth_callback)
self.request_token_hash = {
request_token: request_token.token,
request_token_secret: request_token.secret,
authorize_url: request_token.authorize_url
}
end
|
#request(http_verb, url, options = {}) ⇒ Object
26
27
28
29
|
# File 'lib/xing_api/client.rb', line 26
def request(http_verb, url, options = {})
full_url = url + hash_to_params(options)
handle(access_token.request(http_verb, full_url))
end
|
#request_with_body(http_verb, url, body_hash = {}) ⇒ Object
31
32
33
|
# File 'lib/xing_api/client.rb', line 31
def request_with_body(http_verb, url, body_hash = {})
handle(access_token.request(http_verb, url, body_hash.to_json, 'Content-Type' => 'application/json'))
end
|