instiki/app/controllers/web_sweeper.rb

35 lines
742 B
Ruby
Raw Normal View History

2007-01-22 14:43:50 +01:00
require_dependency 'cache_sweeping_helper'
class WebSweeper < ActionController::Caching::Sweeper
include CacheSweepingHelper
observe Web, Page
2007-01-22 14:43:50 +01:00
def after_save(record)
if record.is_a?(Web)
web = record
web.pages.each { |page| expire_cached_page(web, page.name) }
expire_cached_summary_pages(web)
end
2007-01-22 14:43:50 +01:00
end
def after_remove_orphaned_pages(web)
expire_cached_summary_pages(web)
end
def after_remove_orphaned_pages_in_category(web)
expire_cached_summary_pages(web)
end
def after_destroy(record)
if record.is_a?(Web)
expire_cached_summary_pages(record)
else
expire_cached_page(record.web, record.name)
expire_cached_summary_pages(record.web)
end
end
2007-01-22 14:43:50 +01:00
end