Rails Cache Sweeper and Model Callback Firing

Posted by Topher Fangio on Stack Overflow See other posts from Stack Overflow or by Topher Fangio
Published on 2010-03-06T05:18:28Z Indexed on 2010/03/08 20:36 UTC
Read the original article Hit count: 264

Filed under:
|
|

Hey guys,

I have the following classes:

class Vigil < ActiveRecord::Base
  after_update :do_something_cool

  private
    def do_something_cool
      # Sweet code here
    end
end

class NewsFeedObserver < ActionController::Caching::Sweeper
  observe Vigil

  def after_update
    # Create a news feed entry
  end
end

Everything works as expected.

The after_update in the sweeper requires that the do_something_cool method in the model has finished before it can run properly. The problem is that the after_update in the sweeper is being called before (or perhaps at the same time as) the do_something_cool callback and it's causing problems.

Does anyone know how to force the after_update in the sweeper to fire after the model callback? Is there better way to achieve this?

© Stack Overflow or respective owner

Related posts about rails

Related posts about observer