module Veeqo::Request::ClassMethods
Public Instance Methods
delete(path, params = {})
click to toggle source
# File lib/veeqo/request.rb, line 51 def delete(path, params = {}) response = raw_request(:delete, path, params) return response.body if response.body.empty? build_response_object response end
get(path, params = {})
click to toggle source
# File lib/veeqo/request.rb, line 46 def get(path, params = {}) response = raw_request(:get, path, params) build_response_object response end
post(path, params = {})
click to toggle source
# File lib/veeqo/request.rb, line 57 def post(path, params = {}) response = raw_request(:post, path, params) build_response_object response end
put(path, params = {})
click to toggle source
# File lib/veeqo/request.rb, line 62 def put(path, params = {}) response = raw_request(:put, path, params) build_response_object response end
quantity(path, params = {})
click to toggle source
# File lib/veeqo/request.rb, line 67 def quantity(path, params = {}) response = raw_request(:get, path, params) response.headers['X-Total-Count'].to_i end
raw_request(method, path, params = {})
click to toggle source
# File lib/veeqo/request.rb, line 72 def raw_request(method, path, params = {}) client = params.delete(:connection) || Veeqo.api client.send(method, path.to_s, params) end
Private Instance Methods
build_response_object(response)
click to toggle source
# File lib/veeqo/request.rb, line 79 def build_response_object(response) json = parse response.body if json.is_a? Array json.map { |obj| new obj } else new json end end
parse(json)
click to toggle source
# File lib/veeqo/request.rb, line 88 def parse(json) return [] if json.empty? Oj.load(json, symbol_keys: true) end