module Bigcommerce::Request::ClassMethods

Public Instance Methods

delete(path, params = {}) click to toggle source
# File lib/bigcommerce/request.rb, line 51
def delete(path, params = {})
  response = raw_request(:delete, path, params)
  response.body
end
get(path, params = {}) click to toggle source
# File lib/bigcommerce/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/bigcommerce/request.rb, line 56
def post(path, params = {})
  response = raw_request(:post, path, params)
  build_response_object response
end
put(path, params = {}) click to toggle source
# File lib/bigcommerce/request.rb, line 61
def put(path, params = {})
  response = raw_request(:put, path, params)
  build_response_object response
end
raw_request(method, path, params = {}) click to toggle source
# File lib/bigcommerce/request.rb, line 66
def raw_request(method, path, params = {})
  client = params.delete(:connection) || Bigcommerce.api
  client.send(method, path.to_s, params)
end

Private Instance Methods

build_response_object(response) click to toggle source
# File lib/bigcommerce/request.rb, line 73
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/bigcommerce/request.rb, line 82
def parse(json)
  return [] if json.empty?
  JSON.parse(json, symbolize_names: true)
end