Sha256: f34311f2ee5093bafd3e16c64ad0b199a96321bb699e9683c57d9573755a3800
Contents?: true
Size: 933 Bytes
Versions: 3
Compression:
Stored size: 933 Bytes
Contents
class Tag < ActiveRecord::Base attr_accessible :name ### ASSOCIATIONS: has_many :taggings, :dependent => :destroy ### VALIDATIONS: validates_presence_of :name validates_uniqueness_of :name ### NAMED SCOPES: named_scope :named, lambda { |name| { :conditions => ["name = ?", name] } } named_scope :named_like, lambda { |name| { :conditions => ["name LIKE ?", "%#{name}%"] } } named_scope :named_like_any, lambda { |list| { :conditions => list.map { |tag| sanitize_sql(["name LIKE ?", tag.to_s]) }.join(" OR ") } } ### METHODS: # LIKE is used for cross-database case-insensitivity def self.find_or_create_with_like_by_name(name) find(:first, :conditions => ["name LIKE ?", name]) || create(:name => name) end def ==(object) super || (object.is_a?(Tag) && name == object.name) end def to_s name end def count read_attribute(:count).to_i end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
acts-as-taggable-on-1.1.0 | lib/acts_as_taggable_on/tag.rb |
acts-as-taggable-on-1.0.19 | lib/acts_as_taggable_on/tag.rb |
acts-as-taggable-on-1.0.18 | lib/acts_as_taggable_on/tag.rb |