Module: CompletionKit::Taggable

Extended by:
ActiveSupport::Concern
Included in:
Dataset, Metric, MetricGroup, Prompt, Run
Defined in:
app/models/concerns/completion_kit/taggable.rb

Instance Method Summary collapse

Instance Method Details

#tag_namesObject



12
13
14
# File 'app/models/concerns/completion_kit/taggable.rb', line 12

def tag_names
  tags.pluck(:name)
end

#tag_names=(names) ⇒ Object



16
17
18
19
20
21
22
# File 'app/models/concerns/completion_kit/taggable.rb', line 16

def tag_names=(names)
  resolved = Array(names)
    .map { |n| n.to_s.strip.downcase }
    .reject(&:blank?)
    .uniq
  self.tags = resolved.map { |name| CompletionKit::Tag.find_or_create_by!(name: name) }
end