class FlexCommerceApi::JsonApiClientExtension::Requestor

Public Instance Methods

create(record) click to toggle source

expects a record

# File lib/flex_commerce_api/json_api_client_extension/requestor.rb, line 5
def create(record)
  request(:post, klass.path(record.attributes, record), {
                   data: record.as_json_api
               })
end
destroy(record) click to toggle source
# File lib/flex_commerce_api/json_api_client_extension/requestor.rb, line 23
def destroy(record)
  request(:delete, resource_path(record.attributes, record), {})
end
get(params = {}) click to toggle source
# File lib/flex_commerce_api/json_api_client_extension/requestor.rb, line 17
def get(params = {})
  path = resource_path(params)
  params.delete(klass.primary_key)
  request(:get, path, params)
end
update(record) click to toggle source
# File lib/flex_commerce_api/json_api_client_extension/requestor.rb, line 11
def update(record)
  request(:patch, resource_path(record.attributes, record), {
                    data: record.as_json_api
                })
end

Protected Instance Methods

encoded(part) click to toggle source
# File lib/flex_commerce_api/json_api_client_extension/requestor.rb, line 37
def encoded(part)
  Addressable::URI.encode_component(part, Addressable::URI::CharacterClasses::UNRESERVED + "\\:")
end
resource_path(parameters, record = nil) click to toggle source
# File lib/flex_commerce_api/json_api_client_extension/requestor.rb, line 29
def resource_path(parameters, record = nil)
  if resource_id = parameters[klass.primary_key]
    File.join(klass.path(parameters, record), encoded(resource_id))
  else
    klass.path(parameters, record)
  end
end