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