diff --git a/app/controllers/tasks_controller.rb b/app/controllers/tasks_controller.rb index fc0b4b0b10..3ca8809531 100755 --- a/app/controllers/tasks_controller.rb +++ b/app/controllers/tasks_controller.rb @@ -10,6 +10,7 @@ class TasksController < ApplicationController cache_sweeper :tag_sweeper, :only =>[:create, :update] cache_sweeper :task_sweeper + cache_sweeper :work_log_sweeper def index #TODO: Code smell, we should be dealing only with collections here diff --git a/app/sweepers/work_log_sweeper.rb b/app/sweepers/work_log_sweeper.rb new file mode 100644 index 0000000000..aa914b174a --- /dev/null +++ b/app/sweepers/work_log_sweeper.rb @@ -0,0 +1,15 @@ +class WorkLogSweeper < ActionController::Caching::Sweeper + observe WorkLog + + def after_update(log) + expire_fragment(["task_json", log.task]) + end + + def after_create(log) + expire_fragment(["task_json", log.task]) + end + + def after_destroy(log) + expire_fragment(["task_json", log.task]) + end +end