Sha256: 2db374d8d89f6835f628d2b7ab40160ae762db98ce68d64bc90d645a84807729
Contents?: true
Size: 1.06 KB
Versions: 56
Compression:
Stored size: 1.06 KB
Contents
class Comment < ActiveRecord::Base include SocialStream::Models::Object alias_attribute :text, :description validates_presence_of :text after_create :increment_comment_count before_destroy :decrement_comment_count define_index do activity_object_index end def parent_post _activity_parent_id && _activity_parent.direct_object || post_activity.parent.direct_object end def title description.truncate(30, :separator =>' ') end private # after_create callback # # Increment comment counter in parent's activity_object with a comment def increment_comment_count return if self.post_activity.parent.blank? self.post_activity.parent.direct_activity_object.increment!(:comment_count) end # before_destroy callback # # Decrement comment counter in parent's activity_object when comment is destroyed def decrement_comment_count return if self.post_activity.blank? || self.post_activity.parent.blank? self.post_activity.parent.direct_activity_object.try(:decrement!, :comment_count) end end
Version data entries
56 entries across 56 versions & 2 rubygems