Forum: Ruby on Rails Bye Bye, Observers

Posted by Svoop (Guest)
on 2012-12-06 08:48
(Received via mailing list)
Observers will be no more as of Rails 4, farewell, never been much of a
fan. However, I'm using it in one of my gems which enables model 
attributes
for use with a WYSIWYM editor. The resulting markup is persisted, but in
order to use it in a view, it has to be nokogiried in a helper which
fragment caches the result. This cache has to be zapped once the model
instance is either updated or destroyed. An observer for after_update 
and
after_destroy seemed the obvious choice at that time.

What would be a Rails 4 approach for this without observers? Inject
after_update and after_destroy callbacks directly into the model?

-sven
Posted by Jeffrey Jones (Guest)
on 2012-12-06 08:56
(Received via mailing list)
If you want to maintain separation you could add after_update and
after_destroy callbacks that only send a message using
ActiveSupport:notifications.

You then write a subscriber to that notification which zaps the cache.

Same result, but instead of observing, it listens. It also makes it
explicit in your model code that after update and destroy a message is
sent into the system which may be acted upon.
Posted by Svoop (Guest)
on 2012-12-06 21:00
(Received via mailing list)
> Same result, but instead of observing, it listens. It also makes it
> explicit in your model code that after update and destroy a message is
> sent into the system which may be acted upon.
>
>
Nice! Thanks a lot for the hint!   -sven
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.