diff options
author | Ben McRedmond <ben@benmcredmond.com> | 2013-01-02 11:53:37 +0000 |
---|---|---|
committer | Ben McRedmond <ben@benmcredmond.com> | 2013-04-04 16:11:13 -0700 |
commit | 8e1d3cd4909c83bbceb7df00da71ec1393a90f6e (patch) | |
tree | 1a6c8b34790da17cb52262aaf02f753d4f136691 /activerecord/lib/active_record | |
parent | e456ad514aca81cbcb67ea9d919730ac00724a38 (diff) | |
download | rails-8e1d3cd4909c83bbceb7df00da71ec1393a90f6e.tar.gz rails-8e1d3cd4909c83bbceb7df00da71ec1393a90f6e.tar.bz2 rails-8e1d3cd4909c83bbceb7df00da71ec1393a90f6e.zip |
Fixes skipping object callback filters
This allows you to skip callbacks that are defined by objects, e.g. for
`ActionController`:
skip_after_filter MySpecialFilter
Previously this didn't work due to a bug in how Rails compared callbacks
in `Callback#matches?`. When a callback is compiled, if it's an object
filter (i.e. not a method, proc, etc.), `Callback` now defines a method on
`@klass` that is derived from the class name rather than `@callback_id`.
So, when `skip_callback` tries to find the appropriate callback to
remove, `Callback` can regenerate the method name for the filter
object and return the correct value for `Callback#matches?`.
Diffstat (limited to 'activerecord/lib/active_record')
0 files changed, 0 insertions, 0 deletions