Sha256: 601e95f1cf9e2b182e33dd8408bf826a8e0a25fde5c57b8efa167483cac7544b
Contents?: true
Size: 634 Bytes
Versions: 5
Compression:
Stored size: 634 Bytes
Contents
module Elabs module Concerns module Taggable extend ActiveSupport::Concern included do attr_writer :tags_list after_save :save_tags_list end def save_tags_list if @tags_list tags = [] @tags_list.split(/, */).each do |t| tags.push Tag.find_or_create_by(name: t.chomp) end @tags_list = nil update(tags: tags) if tags.count.positive? end true end # Returns a list of comma-separated tags def tags_list @tags_list || tags.map(&:name).join(', ') end end end end
Version data entries
5 entries across 5 versions & 1 rubygems