diff options
author | José Valim <jose.valim@gmail.com> | 2010-09-29 10:04:42 +0200 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2010-09-29 10:04:42 +0200 |
commit | 0bbf9029e8089356aed0e3be2f859d56951a89cf (patch) | |
tree | 38e41ef8b63140a91c828bec03e06e83f38899b6 /actionpack/lib/action_dispatch/middleware/callbacks.rb | |
parent | 006cef7107b648882cfc09f56904c601454cfc77 (diff) | |
parent | 17599abc9c06f30ff23d7ad47a3f029e32c26c88 (diff) | |
download | rails-0bbf9029e8089356aed0e3be2f859d56951a89cf.tar.gz rails-0bbf9029e8089356aed0e3be2f859d56951a89cf.tar.bz2 rails-0bbf9029e8089356aed0e3be2f859d56951a89cf.zip |
Merge remote branch 'miloops/warnings'
Diffstat (limited to 'actionpack/lib/action_dispatch/middleware/callbacks.rb')
-rw-r--r-- | actionpack/lib/action_dispatch/middleware/callbacks.rb | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/actionpack/lib/action_dispatch/middleware/callbacks.rb b/actionpack/lib/action_dispatch/middleware/callbacks.rb index e4ae480bfb..0bb950d1cc 100644 --- a/actionpack/lib/action_dispatch/middleware/callbacks.rb +++ b/actionpack/lib/action_dispatch/middleware/callbacks.rb @@ -19,9 +19,11 @@ module ActionDispatch # replace the existing callback. Passing an identifier is a suggested # practice if the code adding a preparation block may be reloaded. def self.to_prepare(*args, &block) - if args.first.is_a?(Symbol) && block_given? - define_method :"__#{args.first}", &block - set_callback(:prepare, :"__#{args.first}") + first_arg = args.first + if first_arg.is_a?(Symbol) && block_given? + remove_method :"__#{first_arg}" if method_defined?(:"__#{first_arg}") + define_method :"__#{first_arg}", &block + set_callback(:prepare, :"__#{first_arg}") else set_callback(:prepare, *args, &block) end |