#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

