openstreetmap-website/app/models/trace_sweeper.rb
2010-01-10 17:44:57 +00:00

28 lines
946 B
Ruby

class TraceSweeper < ActionController::Caching::Sweeper
observe Trace
def after_create(record)
expire_cache_for(record)
end
def after_update(record)
expire_cache_for(record)
end
def after_destroy(record)
expire_cache_for(record)
end
private
def expire_cache_for(record)
expire_action(:controller => 'trace', :action => 'view', :id => record.id)
expire_action(:controller => 'trace', :action => 'view', :display_name => record.user.display_name, :id => record.id)
expire_action(:controller => 'trace', :action => 'list', :display_name => nil, :tag => nil)
expire_action(:controller => 'trace', :action => 'list', :display_name => record.user.display_name, :tag => nil)
expire_action(:controller => 'trace', :action => 'georss', :display_name => nil, :tag => nil)
expire_action(:controller => 'trace', :action => 'georss', :display_name => record.user.display_name, :tag => nil)
end
end