33 lines
628 B
Ruby
33 lines
628 B
Ruby
class DiaryComment < ActiveRecord::Base
|
|
belongs_to :user
|
|
belongs_to :diary_entry
|
|
|
|
validates_presence_of :body
|
|
validates_associated :diary_entry
|
|
|
|
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 << user_id.to_s
|
|
md5 << created_at.xmlschema
|
|
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
|