]> git.openstreetmap.org Git - rails.git/blob - app/models/trace_sweeper.rb
Link from a diary entry to the relevant user's diary
[rails.git] / app / models / trace_sweeper.rb
1 class TraceSweeper < ActionController::Caching::Sweeper
2   observe Trace
3
4   def after_create(record)
5     expire_cache_for(record)
6   end
7
8   def after_update(record)
9     expire_cache_for(record)
10   end
11
12   def after_destroy(record)
13     expire_cache_for(record)
14   end
15
16 private
17
18   def expire_cache_for(record)
19     expire_action(:controller => 'trace', :action => 'view', :id => record.id)
20     expire_action(:controller => 'trace', :action => 'view', :display_name => record.user.display_name, :id => record.id)
21
22     expire_action(:controller => 'trace', :action => 'list', :display_name => nil, :tag => nil)
23     expire_action(:controller => 'trace', :action => 'list', :display_name => record.user.display_name, :tag => nil)
24
25     expire_action(:controller => 'trace', :action => 'georss', :display_name => nil, :tag => nil)
26     expire_action(:controller => 'trace', :action => 'georss', :display_name => record.user.display_name, :tag => nil)
27   end
28 end