Class: ActiveRecordApi::Rest::Controller

Inherits:
ApplicationController
  • Object
show all
Includes:
GracefulErrors
Defined in:
lib/active_record_api/rest/controller.rb

Direct Known Subclasses

Auth::Controller

Instance Method Summary collapse

Instance Method Details

#createObject

:nocov:



27
28
29
30
31
32
33
# File 'lib/active_record_api/rest/controller.rb', line 27

def create
  if model.save
    render json: model, serializer: serializer
  else
    render json: model.errors, status: :unprocessable_entity
  end
end

#destroyObject



43
44
45
46
47
48
49
50
51
# File 'lib/active_record_api/rest/controller.rb', line 43

def destroy
  if model.destroy
    render json: model
  else
    # :nocov:
    render json: model.errors, status: :unprocessable_entity
    # :nocov:
  end
end

#indexObject



10
11
12
13
14
# File 'lib/active_record_api/rest/controller.rb', line 10

def index
  response.headers['x-total'] = models_count
  response.headers['x-link-next'] = next_url unless next_url.nil?
  render json: models_full_results.limit(limit).offset(offset).order(id: :asc), each_serializer: serializer
end

#newObject

:nocov:



21
22
23
24
# File 'lib/active_record_api/rest/controller.rb', line 21

def new
  action = request.query_parameters[:action]
  render json: authorized_models.send(action, queryable_params.deep_symbolize_keys), serializer: serializer
end

#showObject



16
17
18
# File 'lib/active_record_api/rest/controller.rb', line 16

def show
  render json: model, serializer: serializer
end

#updateObject



35
36
37
38
39
40
41
# File 'lib/active_record_api/rest/controller.rb', line 35

def update
  if model.update(modifiable_params)
    render json: model, serializer: serializer
  else
    render json: model.errors, status: :unprocessable_entity
  end
end