diff options
Diffstat (limited to 'activerecord/test/models/topic.rb')
-rw-r--r-- | activerecord/test/models/topic.rb | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/activerecord/test/models/topic.rb b/activerecord/test/models/topic.rb index 617f01b47d..6440dbe8ab 100644 --- a/activerecord/test/models/topic.rb +++ b/activerecord/test/models/topic.rb @@ -9,7 +9,7 @@ class Topic < ActiveRecord::Base scope :rejected, :conditions => {:approved => false} scope :by_lifo, :conditions => {:author_name => 'lifo'} - + scope :approved_as_hash_condition, :conditions => {:topics => {:approved => true}} scope 'approved_as_string', :conditions => {:approved => true} scope :replied, :conditions => ['replies_count > 0'] @@ -18,6 +18,13 @@ class Topic < ActiveRecord::Base 1 end end + + scope :with_object, Class.new(Struct.new(:klass)) { + def call + klass.where(:approved => true) + end + }.new(self) + module NamedExtension def two 2 @@ -38,6 +45,10 @@ class Topic < ActiveRecord::Base has_many :replies, :dependent => :destroy, :foreign_key => "parent_id" has_many :replies_with_primary_key, :class_name => "Reply", :dependent => :destroy, :primary_key => "title", :foreign_key => "parent_title" + + has_many :unique_replies, :dependent => :destroy, :foreign_key => "parent_id" + has_many :silly_unique_replies, :dependent => :destroy, :foreign_key => "parent_id" + serialize :content before_create :default_written_on @@ -82,7 +93,7 @@ class Topic < ActiveRecord::Base end def set_email_address - if self.new_record? + unless self.persisted? self.author_email_address = 'test@test.com' end end |