socialforge/lib/trustie/cache/clear_course_event.rb

33 lines
695 B
Ruby

#coding=utf-8
module Trustie
module Cache
module ClearCourseEvent
def self.included(base)
base.class_eval{
after_create :clear_course_events
after_destroy :clear_course_events
}
end
def clear_course_events
if Rails.env.production? && Setting.course_cahce_enabled?
Rails.cache.delete(cache_key)
end
end
def cache_key
course_id = nil
if Message === self.act
course_id = self.act.board.course_id
elsif self.act.respond_to?(:course_id)
course_id = self.act.course_id
end
"course_events_#{course_id}".to_sym
end
end
end
end