2007-01-22 14:43:50 +01:00
|
|
|
module CacheSweepingHelper
|
|
|
|
|
|
|
|
def expire_cached_page(web, page_name)
|
|
|
|
expire_action :controller => 'wiki', :web => web.address,
|
2009-12-14 04:09:12 +01:00
|
|
|
:action => %w(show published s5 tex print history source), :id => page_name
|
2007-01-22 14:43:50 +01:00
|
|
|
expire_action :controller => 'wiki', :web => web.address,
|
2009-04-01 06:37:21 +02:00
|
|
|
:action => 'show', :id => page_name, :mode => 'diff'
|
2007-01-22 14:43:50 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
def expire_cached_summary_pages(web)
|
2011-09-21 20:37:33 +02:00
|
|
|
categories = WikiReference.list_categories(web)
|
2007-01-22 14:43:50 +01:00
|
|
|
%w(recently_revised list).each do |action|
|
|
|
|
expire_action :controller => 'wiki', :web => web.address, :action => action
|
|
|
|
categories.each do |category|
|
2011-09-21 20:37:33 +02:00
|
|
|
expire_action :controller => 'wiki', :web => web.address, :action => action, :category => category
|
2007-01-22 14:43:50 +01:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2009-01-11 05:33:30 +01:00
|
|
|
%w(authors atom_with_content atom_with_headlines file_list).each do |action|
|
2007-04-14 00:04:03 +02:00
|
|
|
expire_action :controller => 'wiki', :web => web.address, :action => action
|
|
|
|
end
|
2009-01-11 05:33:30 +01:00
|
|
|
|
|
|
|
%w(file_name created_at).each do |sort_order|
|
|
|
|
expire_action :controller => 'wiki', :web => web.address, :action => 'file_list', :sort_order => sort_order
|
|
|
|
end
|
2007-01-22 14:43:50 +01:00
|
|
|
end
|
|
|
|
|
2009-04-01 06:37:21 +02:00
|
|
|
def expire_cached_revisions(page)
|
2011-04-25 17:54:44 +02:00
|
|
|
page.rev_ids.count.times do |i|
|
2009-04-01 06:37:21 +02:00
|
|
|
revno = i+1
|
|
|
|
expire_action :controller => 'wiki', :web => page.web.address,
|
|
|
|
:action => 'revision', :id => page.name, :rev => revno
|
|
|
|
expire_action :controller => 'wiki', :web => page.web.address,
|
|
|
|
:action => 'revision', :id => page.name, :rev => revno, :mode => 'diff'
|
2011-08-28 04:58:14 +02:00
|
|
|
expire_action :controller => 'wiki', :web => page.web.address,
|
|
|
|
:action => 'source', :id => page.name, :rev => revno
|
2009-04-01 06:37:21 +02:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2007-03-09 04:57:21 +01:00
|
|
|
end
|