module Logical
  class Showtime < CachedObject 
    class ShowtimeSweeper < Sweeper 
      observe Logical::Movie::Invalidation 

      def before_validation(obj) 
        Physical::MovieShowtime.find_all_by_movie_id(
           obj.object_id, :select => 'id'
        ).each do |ms| 
          Logical::CacheManager.instance.schedule_rebuild(Showtime, ms.id) 
        end 
      end 
    end 
    ShowtimeSweeper.instance
    class Invalidation < logicalModelInvalidation; end 
  end 
end 


