module BigcommerceOAuthAPI::Request

Public Instance Methods

delete(path, options = {}) click to toggle source
# File lib/bigcommerce-oauth-api/request.rb, line 18
def delete(path, options = {})
  request(:delete, path, options)
end
get(path, options = {}) click to toggle source
# File lib/bigcommerce-oauth-api/request.rb, line 6
def get(path, options = {})
  request(:get, path, options)
end
post(path, options = {}) click to toggle source
# File lib/bigcommerce-oauth-api/request.rb, line 10
def post(path, options = {})
  request(:post, path, options)
end
put(path, options = {}) click to toggle source
# File lib/bigcommerce-oauth-api/request.rb, line 14
def put(path, options = {})
  request(:put, path, options)
end

Private Instance Methods

request(method, path, options) click to toggle source
# File lib/bigcommerce-oauth-api/request.rb, line 24
def request(method, path, options)
  response = connection.send(method) do |request|
    case method
      when :get, :delete
        request.url(path, options)
      when :post, :put
        request.path = path
        request.body = options if !options.empty?
    end
  end

  if typecast_to_resource
    if response.status == 204 || response.status == 304
      nil
    elsif response.body.is_a?(Array)
      response.body.map! { |resource| Resource.new(resource) }
    else
      Resource.new(response.body)
    end
  else
    response.body
  end
end