I use callbacks (after_save, etc.) extensively to rebuild model
relationships. However, there are times when I don’t want them to
execute, and I don’t want the caller to know about it. For example,
if I have a model object with saved search criteria and tags, I want
to execute the search when the criteria changes but not when the tags
change. In the end, all I really need to know is what attributes
changed. I have a scheme involving overriding =, but it doesn’t
always work (update_attributes doesn’t use obj.attr = new_value, for
example).
Any suggestions?