Sha256: 9b27a8b6308713733a9139cd9a4927cf493a1acbc3d0a1d50f4b03b4e719ce88

Contents?: true

Size: 439 Bytes

Versions: 3

Compression:

Stored size: 439 Bytes

Contents

# app/models/concerns/taggable.rb
module Taggable
  extend ActiveSupport::Concern

  included do
    serialize :tags, JSON
  end

  def add_haystack_marker(marker)
    self.tags ||= {}
    self.tags[marker] = true
    save!
  end

  def add_haystack_tag(key, value)
    self.tags ||= {}
    self.tags[key] = value
    save!
  end

  def add_multiple_tags(tags_hash)
    self.tags ||= {}
    self.tags.merge!(tags_hash)
    save!
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
needle_in_a_haystack-1.0.2 lib/concerns/taggable.rb
needle_in_a_haystack-1.0.1 lib/concerns/taggable.rb
needle_in_a_haystack-1.0.0 lib/concerns/taggable.rb