module ClioClient::Api::Crudable

Public Instance Methods

create(params = {}) click to toggle source
# File lib/clio_client/api/crudable.rb, line 9
def create(params = {})
  begin
    resource = params.is_a?(Array) ? create_plural(params) : create_singular(params)
  rescue ClioClient::UnknownResponse
    false
  end
end
destroy(id, params = {}) click to toggle source
# File lib/clio_client/api/crudable.rb, line 26
def destroy(id, params = {})
  begin
    session.delete("#{end_point_url}/#{id}", params, false)
  rescue ClioClient::UnknownResponse
    false
  end
end
new(params = {}) click to toggle source
# File lib/clio_client/api/crudable.rb, line 5
def new(params = {})
  data_item(params)
end
update(id, params = {}) click to toggle source
# File lib/clio_client/api/crudable.rb, line 17
def update(id, params = {})
  begin
    response = session.put("#{end_point_url}/#{id}", {singular_resource => params}.to_json)
    data_item(response[singular_resource])        
  rescue ClioClient::UnknownResponse
    false
  end
end

Private Instance Methods

create_plural(params) click to toggle source
# File lib/clio_client/api/crudable.rb, line 41
def create_plural(params)
  response = session.post(end_point_url, {plural_resource => params}.to_json)
  response[plural_resource].map do |resource|
    # Errors are presented inline when doing bulk create via the Clio API
    if resource.key?("errors")
      resource
    else
      data_item(resource)
    end
  end
end
create_singular(params) click to toggle source
# File lib/clio_client/api/crudable.rb, line 36
def create_singular(params)
  response = session.post(end_point_url, {singular_resource => params}.to_json)
  data_item(response[singular_resource])
end