Merge branch 'master' into notes
[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', :display_name => record.user.display_name, :id => record.id)
20
21     expire_action(:controller => 'trace', :action => 'list', :display_name => nil, :tag => nil)
22     expire_action(:controller => 'trace', :action => 'list', :display_name => record.user.display_name, :tag => nil)
23
24     expire_action(:controller => 'trace', :action => 'georss', :display_name => nil, :tag => nil)
25     expire_action(:controller => 'trace', :action => 'georss', :display_name => record.user.display_name, :tag => nil)
26   end
27 end