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 36
def initialize(config)
  $LOG.i('initializing client')
  @config = config
  @epoint = Upwork::Api::DEFAULT_EPOINT
  @url_auth, @url_rtoken, @url_atoken = Upwork::Api::BASE_HOST + URI_AUTH, self.full_url(URI_RTOKEN), self.full_url(URI_ATOKEN)
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(verifier) click to toggle source

Finish auth process and get access token

Arguments:

verifier: (String)
# File lib/upwork/api/client.rb, line 65
def get_access_token(verifier)
  $LOG.i "getting access token pair"
  @access_token = @request_token.get_access_token(:oauth_verifier => verifier)
  $LOG.i "got access token pair", @access_token
  $LOG.i "save access token data in config object"
  
  @config.access_token  = @access_token.token
  @config.access_secret = @access_token.secret
  
  @access_token
end
get_authorization_url(oauth_callback = "oob") click to toggle source

Start auth process and get authorization token

# File lib/upwork/api/client.rb, line 44
def get_authorization_url(oauth_callback = "oob")
  $LOG.i "requesting autorization token"
  @consumer=OAuth::Consumer.new @config.consumer_key, 
                                @config.consumer_secret, 
                                {:site                => Upwork::Api::BASE_HOST,
                                 :request_token_path  => '/' + Upwork::Api::DEFAULT_EPOINT + URI_RTOKEN,
                                 :access_token_path   => '/' + Upwork::Api::DEFAULT_EPOINT + URI_ATOKEN,
                                 :authorize_path      => URI_AUTH,
                                 :signature_method    => @config.signature_method}
  
  @request_token = @consumer.get_request_token({:oauth_callback => oauth_callback})
  $LOG.i "got request token pair", @request_token
  
  $LOG.i "building authorization url, which is", @request_token.authorize_url
  @request_token.authorize_url
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