module JsonApiResource::Queryable

Constants

MAX_PAGES_FOR_ALL

Public Class Methods

find(id) click to toggle source
# File lib/json_api_resource/queryable.rb, line 16
def find(id)
  return nil unless id.present?

  results = execute(:find, id: id)
  JsonApiResource::Handlers::FindHandler.new(results).result # <= <#JsonApiclient::ResultSet @errors => <...>, @data => <...>, @linked_data => <...>>
end
where(opts = {}) click to toggle source
# File lib/json_api_resource/queryable.rb, line 23
def where(opts = {})
  opts[:per_page] = opts.fetch(:per_page, self.per_page) if self.per_page
  execute(:where, opts)
end

Public Instance Methods

save() click to toggle source
# File lib/json_api_resource/queryable.rb, line 30
def save
  execute :save
end
update_attributes(attrs = {}) click to toggle source
# File lib/json_api_resource/queryable.rb, line 34
def update_attributes(attrs = {})
  execute :update_attributes, attrs
end
update_meta() { || ... } click to toggle source
# File lib/json_api_resource/queryable.rb, line 38
def update_meta
  yield

  self.errors ||= ActiveModel::Errors.new(self)
  ApiErrors(self.client.errors).each do | k,messages|
    self.errors.add(k.to_sym, Array(messages).join(', '))
  end
  self.errors

  self.meta = self.client.last_request_meta
end