1 class Topic
< ActiveRecord
::Base
3 named_scope
:written_before, lambda
{ |time
|
4 { :conditions => ['written_on < ?', time
] }
6 named_scope
:approved, :conditions => {:approved => true}
7 named_scope
:by_lifo, :conditions => {:author_name => 'lifo'}
9 named_scope
:approved_as_hash_condition, :conditions => {:topics => {:approved => true}}
10 named_scope
'approved_as_string', :conditions => {:approved => true}
11 named_scope
:replied, :conditions => ['replies_count > 0']
12 named_scope
:anonymous_extension do
22 module MultipleExtensionOne
27 module MultipleExtensionTwo
32 named_scope
:named_extension, :extend => NamedExtension
33 named_scope
:multiple_extensions, :extend => [MultipleExtensionTwo
, MultipleExtensionOne
]
35 has_many
:replies, :dependent => :destroy, :foreign_key => "parent_id"
38 before_create
:default_written_on
39 before_destroy
:destroy_children
45 # trivial method for testing Array#to_xml with :methods
52 @custom_approved = val
53 write_attribute(:approved, val
)
56 def default_written_on
57 self.written_on
= Time
.now
unless attribute_present
?("written_on")
61 self.class.delete_all
"parent_id = #{id}"
66 self.author_email_address
= 'test@test.com'