From 69b627ef670b1dc7fee0b5d25903cebdeed49576 Mon Sep 17 00:00:00 2001
From: Emilio Tagua <miloops@gmail.com>
Date: Fri, 15 Oct 2010 17:32:18 -0300
Subject: Don't load IdentityMap middleware if not enabled. Simplify
 middleware.

---
 activerecord/lib/active_record/identity_map.rb | 5 +++--
 activerecord/lib/active_record/railtie.rb      | 8 +++++---
 2 files changed, 8 insertions(+), 5 deletions(-)

(limited to 'activerecord/lib')

diff --git a/activerecord/lib/active_record/identity_map.rb b/activerecord/lib/active_record/identity_map.rb
index fe448abfdf..30a2a1eb0f 100644
--- a/activerecord/lib/active_record/identity_map.rb
+++ b/activerecord/lib/active_record/identity_map.rb
@@ -98,8 +98,9 @@ module ActiveRecord
       end
 
       def call(env)
-        ActiveRecord::IdentityMap.enabled? ?
-          ActiveRecord::IdentityMap.use { @app.call(env) } : @app.call(env)
+        ActiveRecord::IdentityMap.use do
+          @app.call(env)
+        end
       end
     end
   end
diff --git a/activerecord/lib/active_record/railtie.rb b/activerecord/lib/active_record/railtie.rb
index 5d0424a543..6afa2d4cf3 100644
--- a/activerecord/lib/active_record/railtie.rb
+++ b/activerecord/lib/active_record/railtie.rb
@@ -22,9 +22,6 @@ module ActiveRecord
     config.app_middleware.insert_after "::ActionDispatch::Callbacks",
       "ActiveRecord::ConnectionAdapters::ConnectionManagement"
 
-    config.app_middleware.insert_after "::ActionDispatch::Callbacks",
-      "ActiveRecord::IdentityMap::Middleware"
-
     rake_tasks do
       load "active_record/railties/databases.rake"
     end
@@ -81,6 +78,11 @@ module ActiveRecord
       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
       ActiveSupport.on_load(:active_record) do
         instantiate_observers
-- 
cgit v1.2.3