19 lines
606 B
Ruby
19 lines
606 B
Ruby
module BulletinModel
|
|
module Cache
|
|
require 'active_support/concern'
|
|
extend ActiveSupport::Concern
|
|
included do
|
|
before_save :do_before_save
|
|
end
|
|
def do_before_save
|
|
if self.class == SubPart
|
|
AnnsCache.where(parent_id:self.id).destroy
|
|
elsif self.class == Bulletin || (self.class == Page && self.module == "announcement")
|
|
if self.class == Bulletin
|
|
BulletinFeedCache.where(:uid.in => BulletinFeed.where(:tag_ids.in => Array(self.tag_ids).collect{|v| v.to_s}).pluck(:uid)).destroy
|
|
end
|
|
AnnsCache.all.destroy
|
|
end
|
|
end
|
|
end
|
|
end |