Class: MageHand::Client
- Inherits:
-
Object
- Object
- MageHand::Client
- Defined in:
- lib/ob_port/client.rb
Constant Summary collapse
- @@client =
nil
Instance Attribute Summary collapse
-
#access_token_key ⇒ Object
Returns the value of attribute access_token_key.
-
#access_token_secret ⇒ Object
Returns the value of attribute access_token_secret.
-
#request_token ⇒ Object
Returns the value of attribute request_token.
Class Method Summary collapse
- .get_client(session_request_token = nil, session_access_token_key = nil, session_access_token_secret = nil, callback = nil, params = nil) ⇒ Object
- .set_app_keys(key, secret) ⇒ Object
Instance Method Summary collapse
- #access_token ⇒ Object
- #campaign(id) ⇒ Object
- #consumer ⇒ Object
- #current_user ⇒ Object (also: #me)
-
#initialize(session_request_token = nil, session_access_token_key = nil, session_access_token_secret = nil, callback = nil, params = nil) ⇒ Client
constructor
A new instance of Client.
- #logged_in? ⇒ Boolean
Constructor Details
#initialize(session_request_token = nil, session_access_token_key = nil, session_access_token_secret = nil, callback = nil, params = nil) ⇒ Client
Returns a new instance of Client.
21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/ob_port/client.rb', line 21 def initialize(session_request_token=nil, session_access_token_key=nil, session_access_token_secret=nil, callback=nil, params=nil) @request_token = session_request_token @access_token_key = session_access_token_key @access_token_secret = session_access_token_secret if !logged_in? && params && params[:oauth_verifier] temp_token = @request_token.get_access_token(:oauth_verifier => params[:oauth_verifier]) @access_token_key = temp_token.token @access_token_secret = temp_token.secret elsif !logged_in? @request_token = consumer.get_request_token(:oauth_callback => callback) end end |
Instance Attribute Details
#access_token_key ⇒ Object
Returns the value of attribute access_token_key.
3 4 5 |
# File 'lib/ob_port/client.rb', line 3 def access_token_key @access_token_key end |
#access_token_secret ⇒ Object
Returns the value of attribute access_token_secret.
3 4 5 |
# File 'lib/ob_port/client.rb', line 3 def access_token_secret @access_token_secret end |
#request_token ⇒ Object
Returns the value of attribute request_token.
3 4 5 |
# File 'lib/ob_port/client.rb', line 3 def request_token @request_token end |
Class Method Details
.get_client(session_request_token = nil, session_access_token_key = nil, session_access_token_secret = nil, callback = nil, params = nil) ⇒ Object
11 12 13 14 15 16 17 18 19 |
# File 'lib/ob_port/client.rb', line 11 def self.get_client(session_request_token=nil, session_access_token_key=nil, session_access_token_secret=nil, callback=nil, params=nil) # If we don't have a client, or we are changing a token, initialize a new client if !@@client || session_request_token || session_access_token_key || session_access_token_secret @@client = Client.new(session_request_token, session_access_token_key, session_access_token_secret, callback, params) end @@client end |
.set_app_keys(key, secret) ⇒ Object
6 7 8 9 |
# File 'lib/ob_port/client.rb', line 6 def self.set_app_keys(key, secret) @@key = key @@secret = secret end |
Instance Method Details
#access_token ⇒ Object
50 51 52 53 |
# File 'lib/ob_port/client.rb', line 50 def access_token return nil unless logged_in? @access_token ||= OAuth::AccessToken.new(consumer, access_token_key, access_token_secret) end |
#campaign(id) ⇒ Object
60 61 62 |
# File 'lib/ob_port/client.rb', line 60 def campaign(id) MageHand::Campaign.new(JSON.parse(access_token.get("/v1/campaigns/#{id}.json").body)) end |
#consumer ⇒ Object
40 41 42 43 44 45 46 47 48 |
# File 'lib/ob_port/client.rb', line 40 def consumer raise(OAuthConfigurationError, "Need to set application key and secret before initializing a consumer.") unless @@key && @@secret @consumer ||= OAuth::Consumer.new( @@key, @@secret, { :site => 'http://api.obsidianportal.com', :request_token_url => 'https://www.obsidianportal.com/oauth/request_token', :authorize_url => 'https://www.obsidianportal.com/oauth/authorize', :access_token_url => 'https://www.obsidianportal.com/oauth/access_token'}) end |
#current_user ⇒ Object Also known as: me
55 56 57 |
# File 'lib/ob_port/client.rb', line 55 def current_user @current_user ||= MageHand::User.new(JSON.parse(access_token.get('/v1/users/me.json').body)) end |
#logged_in? ⇒ Boolean
36 37 38 |
# File 'lib/ob_port/client.rb', line 36 def logged_in? !!access_token_secret && !!access_token_key end |