Sha256: b30b5a15d918a68fdd66a349c8575f4f9c40ba55d7e0af28104ded2fc090e2f8
Contents?: true
Size: 826 Bytes
Versions: 1
Compression:
Stored size: 826 Bytes
Contents
class Tag < ActiveRecord::Base class << self def find_or_initialize_with_name_like_and_kind(name, kind) with_name_like_and_kind(name, kind).first || new(:name => name, :kind => kind) end end has_many :taggings, :dependent => :destroy validates_presence_of :name validates_uniqueness_of :name, :scope => :kind if Tag.respond_to? :scope scope :with_name_like_and_kind, lambda {|name, kind| where(:name => name.to_s.downcase, :kind => kind.to_s.singularize) } scope :of_kind, lambda {|kind| where(:kind => kind.to_s.singularize) } else named_scope :with_name_like_and_kind, lambda {|name, kind| { :conditions => {:name => name.to_s.downcase, :kind => kind.to_s.singularize} } } named_scope :of_kind, lambda {|kind| { :conditions => {:kind => kind} } } end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
is_taggable_rails3-0.3.0 | lib/tag.rb |