提交 69b627ef 编写于 作者: E Emilio Tagua

Don't load IdentityMap middleware if not enabled. Simplify middleware.

上级 48edab9b
...@@ -98,8 +98,9 @@ def initialize(app) ...@@ -98,8 +98,9 @@ def initialize(app)
end end
def call(env) def call(env)
ActiveRecord::IdentityMap.enabled? ? ActiveRecord::IdentityMap.use do
ActiveRecord::IdentityMap.use { @app.call(env) } : @app.call(env) @app.call(env)
end
end end
end end
end end
......
...@@ -22,9 +22,6 @@ class Railtie < Rails::Railtie ...@@ -22,9 +22,6 @@ class Railtie < Rails::Railtie
config.app_middleware.insert_after "::ActionDispatch::Callbacks", config.app_middleware.insert_after "::ActionDispatch::Callbacks",
"ActiveRecord::ConnectionAdapters::ConnectionManagement" "ActiveRecord::ConnectionAdapters::ConnectionManagement"
config.app_middleware.insert_after "::ActionDispatch::Callbacks",
"ActiveRecord::IdentityMap::Middleware"
rake_tasks do rake_tasks do
load "active_record/railties/databases.rake" load "active_record/railties/databases.rake"
end end
...@@ -81,6 +78,11 @@ class Railtie < Rails::Railtie ...@@ -81,6 +78,11 @@ class Railtie < Rails::Railtie
end end
end end
initializer "active_record.identity_map" do |app|
config.app_middleware.insert_after "::ActionDispatch::Callbacks",
"ActiveRecord::IdentityMap::Middleware" if ActiveRecord::IdentityMap.enabled?
end
config.after_initialize do config.after_initialize do
ActiveSupport.on_load(:active_record) do ActiveSupport.on_load(:active_record) do
instantiate_observers instantiate_observers
......
...@@ -107,6 +107,11 @@ def app ...@@ -107,6 +107,11 @@ def app
assert_equal "Rack::Runtime", middleware.fourth assert_equal "Rack::Runtime", middleware.fourth
end end
test "identity map is inserted" do
boot!
assert_equal "ActiveRecord::IdentityMap::Middleware", middleware[9]
end
test "insert middleware before" do test "insert middleware before" do
add_to_config "config.middleware.insert_before ActionDispatch::Static, Rack::Config" add_to_config "config.middleware.insert_before ActionDispatch::Static, Rack::Config"
boot! boot!
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册