Class: CompletionKit::Api::V1::MetricGroupsController

Inherits:
BaseController
  • Object
show all
Defined in:
app/controllers/completion_kit/api/v1/metric_groups_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



17
18
19
20
21
22
23
24
25
# File 'app/controllers/completion_kit/api/v1/metric_groups_controller.rb', line 17

def create
  metric_group = MetricGroup.new(metric_group_params.except(:metric_ids))
  if metric_group.save
    metric_group.replace_metrics!(params[:metric_ids]) if params.key?(:metric_ids)
    render json: metric_group.reload, status: :created
  else
    render json: {errors: metric_group.errors}, status: :unprocessable_entity
  end
end

#destroyObject



36
37
38
39
# File 'app/controllers/completion_kit/api/v1/metric_groups_controller.rb', line 36

def destroy
  @metric_group.destroy!
  head :no_content
end

#indexObject



7
8
9
10
11
# File 'app/controllers/completion_kit/api/v1/metric_groups_controller.rb', line 7

def index
  scope = MetricGroup.includes(:tags)
  scope = filter_by_tags(scope)
  render json: paginate(scope.order(created_at: :desc))
end

#showObject



13
14
15
# File 'app/controllers/completion_kit/api/v1/metric_groups_controller.rb', line 13

def show
  render json: @metric_group
end

#updateObject



27
28
29
30
31
32
33
34
# File 'app/controllers/completion_kit/api/v1/metric_groups_controller.rb', line 27

def update
  if @metric_group.update(metric_group_params.except(:metric_ids))
    @metric_group.replace_metrics!(params[:metric_ids]) if params.key?(:metric_ids)
    render json: @metric_group.reload
  else
    render json: {errors: @metric_group.errors}, status: :unprocessable_entity
  end
end