diff options
Diffstat (limited to 'railties/lib/dispatcher.rb')
-rw-r--r-- | railties/lib/dispatcher.rb | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/railties/lib/dispatcher.rb b/railties/lib/dispatcher.rb index ce6f505895..31eb5d2317 100644 --- a/railties/lib/dispatcher.rb +++ b/railties/lib/dispatcher.rb @@ -62,7 +62,7 @@ class Dispatcher Class.remove_class(*Reloadable.reloadable_classes) end - ActiveRecord::Base.clear_active_connections! if defined?(ActiveRecord) + ActiveRecord::Base.clear_reloadable_connections! if defined?(ActiveRecord) end # Add a preparation callback. Preparation callbacks are run before every @@ -76,13 +76,16 @@ class Dispatcher def to_prepare(identifier = nil, &block) unless identifier.nil? callback = preparation_callbacks.detect { |ident, _| ident == identifier } + if callback # Already registered: update the existing callback callback[-1] = block return end end + preparation_callbacks << [identifier, block] - nil + + return end private |