module Rapidash::OAuthClient
Attributes
access_token[RW]
secret[RW]
site[RW]
uid[RW]
Public Class Methods
new(options)
click to toggle source
# File lib/rapidash/oauth_client.rb, line 8 def initialize(options) [:uid, :secret, :site].each do |key| if options[key] self.send("#{key.to_s}=".to_sym, options[key]) else unless self.class.respond_to?(key) && send(key) raise ConfigurationError.new "Missing #{key} value" end end end self.access_token = options[:access_token] if options[:access_token] end
Public Instance Methods
access_token_from_code(code, url)
click to toggle source
# File lib/rapidash/oauth_client.rb, line 31 def access_token_from_code(code, url) token = client.auth_code.get_token(code, :redirect_uri => url) self.access_token = token.token end
request(verb, url, options = {})
click to toggle source
# File lib/rapidash/oauth_client.rb, line 22 def request(verb, url, options = {}) url = normalize_url(url) options[:body] = options[:body].to_json if options[:body] options[:raise_errors] = self.class.respond_to?(:raise_error) && self.class.raise_error response = oauth_access_token.send(verb.to_sym, "#{site}/#{url}", options) response.body end
Private Instance Methods
client()
click to toggle source
# File lib/rapidash/oauth_client.rb, line 38 def client @oauth_client ||= ::OAuth2::Client.new(uid, secret, :site => site, :connection_build => connection_builder) end
oauth_access_token()
click to toggle source
# File lib/rapidash/oauth_client.rb, line 42 def oauth_access_token @oauth_access_token ||= ::OAuth2::AccessToken.new(client, access_token) end