Source: show | on GitHub
# File activerecord/lib/active_record/associations/preloader/association.rb, line 10 def initialize(scope, association_key_name) @scope = scope @association_key_name = association_key_name end
# File activerecord/lib/active_record/associations/preloader/association.rb, line 15 def eql?(other) association_key_name == other.association_key_name && scope.table_name == other.scope.table_name && scope.values_for_queries == other.scope.values_for_queries end
# File activerecord/lib/active_record/associations/preloader/association.rb, line 21 def hash [association_key_name, scope.table_name, scope.values_for_queries].hash end
# File activerecord/lib/active_record/associations/preloader/association.rb, line 38 def load_records_for_keys(keys, &block) scope.where(association_key_name => keys).load(&block) end
# File activerecord/lib/active_record/associations/preloader/association.rb, line 29 def load_records_in_batch(loaders) raw_records = records_for(loaders) loaders.each do |loader| loader.load_records(raw_records) loader.run end end
# File activerecord/lib/active_record/associations/preloader/association.rb, line 25 def records_for(loaders) LoaderRecords.new(loaders, self).records end