Sha256: c039c22b819e237872600530b458ac84b4c5a6a892749cfb2c2bb2ca8ba18ce4

Contents?: true

Size: 375 Bytes

Versions: 4

Compression:

Stored size: 375 Bytes

Contents

module DiscoApp::Concerns::Taggable

  extend ActiveSupport::Concern

  def tags
    data[:tags].to_s.split(',').map(&:strip)
  end

  def add_tag(tag)
    data[:tags] = (tags + [tag]).uniq.join(',')
  end

  def remove_tag(tag)
    data[:tags] = (tags - [tag]).uniq.join(',')
  end

  def has_tag?(tag_to_check)
    tags.any? { |tag| tag.casecmp?(tag_to_check) }
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
disco_app-0.18.2 app/models/disco_app/concerns/taggable.rb
disco_app-0.18.3 app/models/disco_app/concerns/taggable.rb
disco_app-0.18.6 app/models/disco_app/concerns/taggable.rb
disco_app-0.18.4 app/models/disco_app/concerns/taggable.rb