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 /activesupport/CHANGELOG.md | |
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 'activesupport/CHANGELOG.md')
-rw-r--r-- | activesupport/CHANGELOG.md | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/activesupport/CHANGELOG.md b/activesupport/CHANGELOG.md index 31395d6da2..5a7cddb079 100644 --- a/activesupport/CHANGELOG.md +++ b/activesupport/CHANGELOG.md @@ -14,6 +14,9 @@ *Charles Jones* +* Fix skipping of filters defined by objects in `ActiveSupport::Callbacks::Callback`. + + *Ben McRedmond* ## Rails 4.0.0.beta1 (February 25, 2013) ## |