class CircuitApi::Resources::Base
Attributes
client[R]
Public Class Methods
new(client)
click to toggle source
# File lib/circuit_api/resources/base.rb, line 6 def initialize(client) @client = client end
Public Instance Methods
all(params = {})
click to toggle source
# File lib/circuit_api/resources/base.rb, line 19 def all(params = {}) result = connection(api_resource, params).get response_to_object(result) end
api_resource()
click to toggle source
# File lib/circuit_api/resources/base.rb, line 10 def api_resource raise NotImplementedError end
create(params)
click to toggle source
# File lib/circuit_api/resources/base.rb, line 24 def create(params) result = connection(api_resource, params).post response_to_object(result) end
delete(id, params = {})
click to toggle source
# File lib/circuit_api/resources/base.rb, line 34 def delete(id, params = {}) result = connection("#{api_resource}/#{id}", params).delete response_to_object(result) end
delete_all(params = {})
click to toggle source
# File lib/circuit_api/resources/base.rb, line 39 def delete_all(params = {}) result = connection(api_resource, params).delete response_to_object(result) end
find(id)
click to toggle source
# File lib/circuit_api/resources/base.rb, line 14 def find(id) result = connection("#{api_resource}/#{id}").get response_to_object(result) end
update(id, params)
click to toggle source
# File lib/circuit_api/resources/base.rb, line 29 def update(id, params) result = connection("#{api_resource}/#{id}", params ).put response_to_object(result) end
Protected Instance Methods
connection(resource_path, params = {})
click to toggle source
# File lib/circuit_api/resources/base.rb, line 46 def connection(resource_path, params = {}) CircuitApi::Utils::Connection.new( client, resource_path, CircuitApi::Utils::Attributes.camelize_keys(params) ) end
handle_validation_errors(bad_request_error)
click to toggle source
# File lib/circuit_api/resources/base.rb, line 72 def handle_validation_errors(bad_request_error) errors = bad_request_error.json_message['validationErrors'] raise unless errors raise CircuitApi::ValidationError.new(errors, bad_request_error.uri) end
response_to_object(response)
click to toggle source
# File lib/circuit_api/resources/base.rb, line 54 def response_to_object(response) case response when Hash return nil if CircuitApi::Utils::Object.blank?(response) to_object(response) when Array response.map do |item| to_object(item) end end end
to_object(values)
click to toggle source
# File lib/circuit_api/resources/base.rb, line 66 def to_object(values) attributes = CircuitApi::Utils::Attributes.snake_keys(values) #binding.pry CircuitApi::Resource.new('foo', attributes) end