aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record.rb
diff options
context:
space:
mode:
authorXavier Noria <fxn@hashref.com>2012-07-29 00:23:48 +0200
committerXavier Noria <fxn@hashref.com>2012-07-29 00:25:00 +0200
commitcc712f2072e2bfd16db83239dd163eb3a488c45e (patch)
tree4e3d812297cfcfe037fd795be4a022235306e084 /activerecord/lib/active_record.rb
parentbe408d66b7ef98da7b959d8b6778440e461235a6 (diff)
downloadrails-cc712f2072e2bfd16db83239dd163eb3a488c45e.tar.gz
rails-cc712f2072e2bfd16db83239dd163eb3a488c45e.tar.bz2
rails-cc712f2072e2bfd16db83239dd163eb3a488c45e.zip
removes the AR session store from eager loaded code [fixes #7160]
See the comment in the file activerecord/lib/active_record.rb added by this patch for the rationale.
Diffstat (limited to 'activerecord/lib/active_record.rb')
-rw-r--r--activerecord/lib/active_record.rb11
1 files changed, 10 insertions, 1 deletions
diff --git a/activerecord/lib/active_record.rb b/activerecord/lib/active_record.rb
index 2463f3951f..14f2715ea4 100644
--- a/activerecord/lib/active_record.rb
+++ b/activerecord/lib/active_record.rb
@@ -31,6 +31,16 @@ require 'active_record/version'
module ActiveRecord
extend ActiveSupport::Autoload
+ # ActiveRecord::SessionStore depends on the abstract store in Action Pack.
+ # Eager loading this class would break client code that eager loads Active
+ # Record standalone.
+ #
+ # Note that the Rails application generator creates an initializer specific
+ # for setting the session store. Thus, albeit in theory this autoload would
+ # not be thread-safe, in practice it is because if the application uses this
+ # session store its autoload happens at boot time.
+ autoload :SessionStore
+
eager_autoload do
autoload :ActiveRecordError, 'active_record/errors'
autoload :ConnectionNotEstablished, 'active_record/errors'
@@ -81,7 +91,6 @@ module ActiveRecord
autoload :SchemaDumper
autoload :Scoping
autoload :Serialization
- autoload :SessionStore
autoload :Store
autoload :Timestamp
autoload :Transactions