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