class TimeCamp::Request

Constants

API_TOKEN
BASE_URL

Public Class Methods

delete(resource, opts={}, data={}) click to toggle source
# File lib/ruby-timecamp/request.rb, line 22
def self.delete(resource, opts={}, data={})
  # return instance of response
  return request(:delete, resource, opts, data)
end
get(resource, opts={}, data={}) click to toggle source

RESTful METHODS

# File lib/ruby-timecamp/request.rb, line 7
def self.get(resource, opts={}, data={})
  # return instance of response
  return request(:get, resource, opts, data)
end
post(resource, opts={}, data={}) click to toggle source
# File lib/ruby-timecamp/request.rb, line 12
def self.post(resource, opts={}, data={})
  # return instance of response
  return request(:post, resource, opts, data)
end
put(resource, opts={}, data={}) click to toggle source
# File lib/ruby-timecamp/request.rb, line 17
def self.put(resource, opts={}, data={})
  # return instance of response
  return request(:put, resource, opts, data)
end

Private Class Methods

request(action, resource, opts, data={}) click to toggle source
# File lib/ruby-timecamp/request.rb, line 32
def self.request(action, resource, opts, data={})
  # response = RestClient.send(action.to_sym, url(resource, opts), data)
  response = RestClient::Request.execute(method: action.to_sym, url: url(resource, opts), payload: data)
  return TimeCamp::Response.new(response).to_h
end
url(resource, opts) click to toggle source
# File lib/ruby-timecamp/request.rb, line 28
def self.url(resource, opts)
  return BASE_URL + "#{ resource }/format/json/api_token/#{ API_TOKEN }/" + opts.to_a.flatten.join('/')
end