From 8665815d314724ee92934c6a5c121ad73f3e3b4a Mon Sep 17 00:00:00 2001 From: Antonio Terceiro Date: Wed, 4 Jan 2012 14:01:09 -0200 Subject: [PATCH] Move improper cache expiring to a sweeper --- app/controllers/box_organizer_controller.rb | 2 -- app/sweepers/block_sweeper.rb | 10 ++++++++++ config/environment.rb | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 app/sweepers/block_sweeper.rb diff --git a/app/controllers/box_organizer_controller.rb b/app/controllers/box_organizer_controller.rb index 74d9e34..c563801 100644 --- a/app/controllers/box_organizer_controller.rb +++ b/app/controllers/box_organizer_controller.rb @@ -82,7 +82,6 @@ class BoxOrganizerController < ApplicationController def save @block = boxes_holder.blocks.find(params[:id]) @block.update_attributes(params[:block]) - expire_timeout_fragment(@block.cache_key) redirect_to :action => 'index' end @@ -93,7 +92,6 @@ class BoxOrganizerController < ApplicationController def remove @block = Block.find(params[:id]) if @block.destroy - expire_timeout_fragment(@block.cache_key) redirect_to :action => 'index' else session[:notice] = _('Failed to remove block') diff --git a/app/sweepers/block_sweeper.rb b/app/sweepers/block_sweeper.rb new file mode 100644 index 0000000..05a0bc2 --- /dev/null +++ b/app/sweepers/block_sweeper.rb @@ -0,0 +1,10 @@ +class BlockSweeper < ActiveRecord::Observer + + include SweeperHelper + observe :block + + def after_save(block) + expire_fragment(block.cache_key) + end + +end diff --git a/config/environment.rb b/config/environment.rb index c81eb02..cf7425e 100644 --- a/config/environment.rb +++ b/config/environment.rb @@ -64,7 +64,7 @@ Rails::Initializer.run do |config| makemo ] unless $PROGRAM_NAME =~ /rake$/ && (ignore_rake_commands.include?(ARGV.first)) - config.active_record.observers = :article_sweeper, :role_assignment_sweeper, :friendship_sweeper, :category_sweeper + config.active_record.observers = :article_sweeper, :role_assignment_sweeper, :friendship_sweeper, :category_sweeper, :block_sweeper end # Make Active Record use UTC-base instead of local time # config.active_record.default_timezone = :utc -- libgit2 0.21.2