class Upwork::Api::Client
Client
for accessing API
Constants
- DATA_FORMAT
- OVERLOAD_VAR
- URI_ATOKEN
- URI_AUTH
- URI_RTOKEN
Attributes
epoint[RW]
url_atoken[R]
url_auth[R]
url_rtoken[R]
Public Class Methods
new(config)
click to toggle source
Init client
Arguments:
config: (Config)
# File lib/upwork/api/client.rb, line 35 def initialize(config) $LOG.i('initializing client') @config = config @epoint = Upwork::Api::DEFAULT_EPOINT @url_auth, @url_rtoken, @url_atoken = URI_AUTH, URI_RTOKEN, URI_ATOKEN @oauth2_client = OAuth2::Client.new( @config.client_id, @config.client_secret, :site => Upwork::Api::BASE_HOST, :authorize_url => @url_auth, :token_url => @url_atoken, :connection_opts => { :headers => {'User-Agent' => 'Github Upwork API Ruby Client' }} ) end
Public Instance Methods
delete(uri, params = {})
click to toggle source
Run DELETE request
Arguments:
uri: (String) param: (Hash)
# File lib/upwork/api/client.rb, line 109 def delete(uri, params = {}) send_request(uri, :delete, params) end
get(uri, params = {})
click to toggle source
Run GET request
Arguments:
uri: (String) param: (Hash)
# File lib/upwork/api/client.rb, line 82 def get(uri, params = {}) send_request(uri, :get, params) end
get_access_token(authz_code)
click to toggle source
Finish auth process and get access token
Arguments:
authz_code: (String)
# File lib/upwork/api/client.rb, line 62 def get_access_token(authz_code) $LOG.i "getting access and refresh token pair" @access_token = @oauth2_client.auth_code.get_token(authz_code, :redirect_uri => @config.redirect_uri) $LOG.i "got access and refresh token pair", @access_token refresh_config_from_access_token @access_token end
get_actual_config()
click to toggle source
Get actual client config
# File lib/upwork/api/client.rb, line 73 def get_actual_config @config end
post(uri, params = {})
click to toggle source
Run POST request
Arguments:
uri: (String) param: (Hash)
# File lib/upwork/api/client.rb, line 91 def post(uri, params = {}) send_request(uri, :post, params) end
put(uri, params = {})
click to toggle source
Run PUT request
Arguments:
uri: (String) param: (Hash)
# File lib/upwork/api/client.rb, line 100 def put(uri, params = {}) send_request(uri, :put, params) end
Private Instance Methods
get_url_with_params(path, params)
click to toggle source
get url with parameters for get requests
# File lib/upwork/api/client.rb, line 140 def get_url_with_params(path, params) "#{path}?".concat(params.collect{|k,v| "#{k}=#{URI::escape(v.to_s)}"}.join("&")) end
refresh_config_from_access_token()
click to toggle source
Refresh config from the actual access token
# File lib/upwork/api/client.rb, line 126 def refresh_config_from_access_token $LOG.i "saving access token data in config object" @config.access_token = @access_token.token @config.refresh_token = @access_token.refresh_token @config.expires_in = @access_token.expires_in @config.expires_at = @access_token.expires_at $LOG.i "new config is", @config @config end