attr_accessible :body
+ after_initialize :set_defaults
+ after_save :spam_check
+
+ def body
+ RichText.new(read_attribute(:body_format), read_attribute(:body))
+ end
+
def digest
md5 = Digest::MD5.new
md5 << diary_entry_id.to_s
md5 << body
md5.hexdigest
end
+
+private
+
+ def set_defaults
+ self.body_format = "markdown" unless self.attribute_present?(:body_format)
+ end
+
+ def spam_check
+ user.spam_check
+ end
end