Module: InfomemeClient::Base
- Included in:
- InfomemeClient
- Defined in:
- lib/infomeme_client/base.rb
Instance Method Summary collapse
- #authorize_url(token, permissions = []) ⇒ Object
- #authorize_with_credentials(login, password, permissions = nil) ⇒ Object
- #authorize_with_token(token, secret) ⇒ Object
- #authorize_with_verifier(token, secret, verifier) ⇒ Object
- #authorized? ⇒ Boolean
- #credentials(just = nil) ⇒ Object
- #deauthorize ⇒ Object
- #initialize(options = {}) ⇒ Object
- #inspect ⇒ Object
- #request_authorization ⇒ Object
Instance Method Details
#authorize_url(token, permissions = []) ⇒ Object
17 18 19 |
# File 'lib/infomeme_client/base.rb', line 17 def (token, = []) "https://infomeme.com/authorize?token=#{token}&permissions=#{permissions.join(',')}" end |
#authorize_with_credentials(login, password, permissions = nil) ⇒ Object
38 39 40 41 42 43 |
# File 'lib/infomeme_client/base.rb', line 38 def (login, password, = nil) req_token = response = put(consumer., {:oauth_token => req_token.token, :login => login, :password => password, :permissions => || .collect {|perm| perm.id}}) return false if response.error? (req_token.token, req_token.secret, response.verifier) end |
#authorize_with_token(token, secret) ⇒ Object
28 29 30 31 32 33 34 35 36 |
# File 'lib/infomeme_client/base.rb', line 28 def (token, secret) access_token = OAuth::AccessToken.new(consumer, token, secret) response = token_request(access_token, :get, "/oauth/verify_access") return false if response.error? self.verified_user = response.user_id self.token = access_token refresh_user_data self end |
#authorize_with_verifier(token, secret, verifier) ⇒ Object
21 22 23 24 25 26 |
# File 'lib/infomeme_client/base.rb', line 21 def (token, secret, verifier) req_token = OAuth::RequestToken.new(consumer, token, secret) response = token_request(req_token, :get, finalize_get_url(consumer.access_token_url, {:oauth_verifier => verifier})) #do request with request_token return false if response.error? (response.access_token.token, response.access_token.secret) end |
#authorized? ⇒ Boolean
52 53 54 |
# File 'lib/infomeme_client/base.rb', line 52 def ! verified_user.nil? end |
#credentials(just = nil) ⇒ Object
56 57 58 59 60 61 62 63 |
# File 'lib/infomeme_client/base.rb', line 56 def credentials(just = nil) creds = { :login => verified_user, :token => token.token, :secret => token.secret, } creds.key?(just) ? creds[just] : creds end |
#deauthorize ⇒ Object
45 46 47 48 49 50 |
# File 'lib/infomeme_client/base.rb', line 45 def self.verified_user = nil self.token = OAuth::AccessToken.new(consumer) refresh_user_data self end |
#initialize(options = {}) ⇒ Object
2 3 4 5 6 7 8 9 10 |
# File 'lib/infomeme_client/base.rb', line 2 def initialize( = {}) self.consumer = OAuth::Consumer.new([:api_key] || ::INFOMEME_API_KEY, [:api_secret] || ::INFOMEME_API_SECRET, :site => [:site] || ::INFOMEME_API_SITE) self.default_language = [:language] || "en" case when .key?(:token) && .key?(:secret) then ([:token], [:secret]) when .key?(:login) && .key?(:password) then ([:login], [:password]) else end end |
#inspect ⇒ Object
65 66 67 68 |
# File 'lib/infomeme_client/base.rb', line 65 def inspect ||= "#<#{self.class.name}: #{authorized? ? credentials.merge({:permissions => (@all_permissions || []).select {|perm| has_permission?(perm.id)}.collect {|perm| perm.name}}).inspect : 'not authorized'}>" end |
#request_authorization ⇒ Object
12 13 14 15 |
# File 'lib/infomeme_client/base.rb', line 12 def response = handle_response :get, consumer.request_token_url response.request_token end |