]> git.openstreetmap.org Git - rails.git/blob - app/models/tracetag_sweeper.rb
Link from a diary entry to the relevant user's diary
[rails.git] / app / models / tracetag_sweeper.rb
1 class TracetagSweeper < ActionController::Caching::Sweeper
2   observe Tracetag
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 => 'list', :display_name => nil, :tag => record.tag)
20     expire_action(:controller => 'trace', :action => 'list', :display_name => record.trace.user.display_name, :tag => record.tag)
21
22     expire_action(:controller => 'trace', :action => 'georss', :display_name => nil, :tag => record.tag)
23     expire_action(:controller => 'trace', :action => 'georss', :display_name => record.trace.user.display_name, :tag => record.tag)
24   end
25 end