Sha256: c459cc69d55d577adce0abd325d9ed0f8d3672bb34eaf1cb67cb7ee5cb0f76f7

Contents?: true

Size: 593 Bytes

Versions: 13

Compression:

Stored size: 593 Bytes

Contents

class Tag < ActiveRecord::Base
  has_many :taggings
  has_many :taggables, :through => :taggings, :source_type => "Content"

  validates_presence_of :name
  validates_uniqueness_of :name, case_sensitive: true

  cattr_accessor :destroy_unused
  self.destroy_unused = true
  
  class << self
    def find_or_create_by_name(name)
      where(["name LIKE ?", name]).first || create(name: name)
    end
  end

  def count
    read_attribute(:count).to_i
  end

  def ==(object)
    super || (object.is_a?(Tag) && name == object.name)
  end

  def to_s
    name
  end
  alias :to_param :to_s
end


Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
adva-0.3.2 vendor/gems/simple_taggable/lib/tag.rb
adva-0.3.1 vendor/gems/simple_taggable/lib/tag.rb
adva-0.3.0 vendor/gems/simple_taggable/lib/tag.rb
adva-0.2.4 vendor/gems/simple_taggable/lib/tag.rb
adva-0.2.3 vendor/gems/simple_taggable/lib/tag.rb
adva-0.2.2 vendor/gems/simple_taggable/lib/tag.rb
adva-0.2.1 vendor/gems/simple_taggable/lib/tag.rb
adva-0.2.0 vendor/gems/simple_taggable/lib/tag.rb
adva-0.1.4 vendor/gems/simple_taggable/lib/tag.rb
adva-0.1.3 vendor/gems/simple_taggable/lib/tag.rb
adva-0.1.2 vendor/gems/simple_taggable/lib/tag.rb
adva-0.1.1 vendor/gems/simple_taggable/lib/tag.rb
adva-0.1.0 vendor/gems/simple_taggable/lib/tag.rb