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



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

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

#destroyObject



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

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

#destroy_byObject



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

def destroy_by
  found_model = authorized_models.find_by(queryable_params)
  if !found_model
    head :not_found
  elsif found_model.destroy
    render json: found_model
  else
    render json: found_model.errors, status: :unprocessable_entity
  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_remaining.limit(limit), each_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



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

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