aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
diff options
context:
space:
mode:
authorBen McRedmond <ben@benmcredmond.com>2013-01-02 11:53:37 +0000
committerBen McRedmond <ben@benmcredmond.com>2013-04-04 16:11:13 -0700
commit8e1d3cd4909c83bbceb7df00da71ec1393a90f6e (patch)
tree1a6c8b34790da17cb52262aaf02f753d4f136691 /activerecord/lib/active_record
parente456ad514aca81cbcb67ea9d919730ac00724a38 (diff)
downloadrails-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