diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2012-10-10 15:47:05 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2012-10-10 15:52:09 -0700 |
commit | 2bed954c2d47f17e5690e5a98df2a5ba94ed8517 (patch) | |
tree | e3f96e12f40c66fba8b5fc6670318d4b1a35c226 /activerecord | |
parent | de1b687239832f336b9453493701955ab4d6d6a2 (diff) | |
download | rails-2bed954c2d47f17e5690e5a98df2a5ba94ed8517.tar.gz rails-2bed954c2d47f17e5690e5a98df2a5ba94ed8517.tar.bz2 rails-2bed954c2d47f17e5690e5a98df2a5ba94ed8517.zip |
Eager autoload Preloader classes
Without eager autoloading, these would be autoloaded
only when #preloader_for is called, which is too late
in threaded applications.
Diffstat (limited to 'activerecord')
-rw-r--r-- | activerecord/lib/active_record/associations/preloader.rb | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/activerecord/lib/active_record/associations/preloader.rb b/activerecord/lib/active_record/associations/preloader.rb index fafed94ff2..12cfdd4622 100644 --- a/activerecord/lib/active_record/associations/preloader.rb +++ b/activerecord/lib/active_record/associations/preloader.rb @@ -30,17 +30,21 @@ module ActiveRecord # option references an association's column), it will fallback to the table # join strategy. class Preloader #:nodoc: - autoload :Association, 'active_record/associations/preloader/association' - autoload :SingularAssociation, 'active_record/associations/preloader/singular_association' - autoload :CollectionAssociation, 'active_record/associations/preloader/collection_association' - autoload :ThroughAssociation, 'active_record/associations/preloader/through_association' + extend ActiveSupport::Autoload - autoload :HasMany, 'active_record/associations/preloader/has_many' - autoload :HasManyThrough, 'active_record/associations/preloader/has_many_through' - autoload :HasOne, 'active_record/associations/preloader/has_one' - autoload :HasOneThrough, 'active_record/associations/preloader/has_one_through' - autoload :HasAndBelongsToMany, 'active_record/associations/preloader/has_and_belongs_to_many' - autoload :BelongsTo, 'active_record/associations/preloader/belongs_to' + eager_autoload do + autoload :Association, 'active_record/associations/preloader/association' + autoload :SingularAssociation, 'active_record/associations/preloader/singular_association' + autoload :CollectionAssociation, 'active_record/associations/preloader/collection_association' + autoload :ThroughAssociation, 'active_record/associations/preloader/through_association' + + autoload :HasMany, 'active_record/associations/preloader/has_many' + autoload :HasManyThrough, 'active_record/associations/preloader/has_many_through' + autoload :HasOne, 'active_record/associations/preloader/has_one' + autoload :HasOneThrough, 'active_record/associations/preloader/has_one_through' + autoload :HasAndBelongsToMany, 'active_record/associations/preloader/has_and_belongs_to_many' + autoload :BelongsTo, 'active_record/associations/preloader/belongs_to' + end attr_reader :records, :associations, :options, :model |