class RapidApi::ModelAdapters::ActiveRecordAdapter

Public Instance Methods

create(params, scope={}) click to toggle source
# File lib/rapid_api/model_adapters/active_record_adapter.rb, line 16
def create(params, scope={})
  create_params = params.merge scope
  member = klass.create create_params
  _query_result_for_member member
end
destroy(id, scope=nil) click to toggle source
# File lib/rapid_api/model_adapters/active_record_adapter.rb, line 30
def destroy(id, scope=nil)
  member = _find_member_with_scope(id, scope)
  if member.present?
    member.destroy
  end
  _query_result_for_member member
end
find(id, scope=nil) click to toggle source
# File lib/rapid_api/model_adapters/active_record_adapter.rb, line 5
def find(id, scope=nil)
  member = _find_member_with_scope(id, scope)
  QueryResult.new data: member
end
find_all(params={}, scope={}) click to toggle source
# File lib/rapid_api/model_adapters/active_record_adapter.rb, line 10
def find_all(params={}, scope={})
  scoped_params = params.merge scope
  collection = klass.where(scoped_params)
  QueryResult.new data: collection
end
update(id, params, scope=nil) click to toggle source
# File lib/rapid_api/model_adapters/active_record_adapter.rb, line 22
def update(id, params, scope=nil)
  member = _find_member_with_scope(id, scope)
  if member.present?
    member.update_attributes params
  end
  _query_result_for_member member
end

Private Instance Methods

_find_member_with_scope(id, scope) click to toggle source
# File lib/rapid_api/model_adapters/active_record_adapter.rb, line 44
def _find_member_with_scope(id, scope)
  klass.where(scope).where(id: id).first
end
_query_result_for_member(member) click to toggle source
# File lib/rapid_api/model_adapters/active_record_adapter.rb, line 40
def _query_result_for_member(member)
  QueryResult.new data: member, errors: member.try(:errors)
end