Class: CompletionKit::MetricGroup

Inherits:
ApplicationRecord show all
Defined in:
app/models/completion_kit/metric_group.rb

Constant Summary

Constants inherited from ApplicationRecord

ApplicationRecord::TenantScopedUniquenessValidator

Instance Method Summary collapse

Instance Method Details

#as_json(options = {}) ⇒ Object



22
23
24
25
26
27
28
# File 'app/models/completion_kit/metric_group.rb', line 22

def as_json(options = {})
  {
    id: id, name: name, description: description,
    created_at: created_at, updated_at: updated_at,
    metric_ids: metric_ids
  }
end

#ordered_metricsObject



10
11
12
# File 'app/models/completion_kit/metric_group.rb', line 10

def ordered_metrics
  metric_group_memberships.includes(:metric).map(&:metric).compact
end

#replace_metrics!(metric_ids) ⇒ Object



14
15
16
17
18
19
20
# File 'app/models/completion_kit/metric_group.rb', line 14

def replace_metrics!(metric_ids)
  return unless metric_ids
  metric_group_memberships.delete_all
  Array(metric_ids).reject(&:blank?).each_with_index do |metric_id, index|
    metric_group_memberships.create!(metric_id: metric_id, position: index + 1)
  end
end