Class: CompletionKit::MetricGroup
Constant Summary
ApplicationRecord::TenantScopedUniquenessValidator
Instance Method Summary
collapse
Methods included from Taggable
#tag_names, #tag_names=
Instance Method Details
#as_json(options = {}) ⇒ Object
24
25
26
27
28
29
30
31
|
# File 'app/models/completion_kit/metric_group.rb', line 24
def as_json(options = {})
{
id: id, name: name, description: description,
created_at: created_at, updated_at: updated_at,
metric_ids: metric_ids,
tags: tags.as_json
}
end
|
#ordered_metrics ⇒ Object
12
13
14
|
# File 'app/models/completion_kit/metric_group.rb', line 12
def ordered_metrics
metric_group_memberships.includes(:metric).map(&:metric).compact
end
|
#replace_metrics!(metric_ids) ⇒ Object
16
17
18
19
20
21
22
|
# File 'app/models/completion_kit/metric_group.rb', line 16
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
|