class ActiveRecord::Associations::Preloader::Association::LoaderQuery

:nodoc:

def eql?(other)

def eql?(other)
  association_key_name == other.association_key_name &&
    scope.table_name == other.scope.table_name &&
    scope.connection_specification_name == other.scope.connection_specification_name &&
    scope.values_for_queries == other.scope.values_for_queries
end

def hash

def hash
  [association_key_name, scope.table_name, scope.connection_specification_name, scope.values_for_queries].hash
end

def initialize(scope, association_key_name)

def initialize(scope, association_key_name)
  @scope = scope
  @association_key_name = association_key_name
end

def load_records_for_keys(keys, &block)

def load_records_for_keys(keys, &block)
  return [] if keys.empty?
  if association_key_name.is_a?(Array)
    query_constraints = Hash.new { |hsh, key| hsh[key] = Set.new }
    keys.each_with_object(query_constraints) do |values_set, constraints|
      association_key_name.zip(values_set).each do |key_name, value|
        constraints[key_name] << value
      end
    end
    scope.where(query_constraints)
  else
    scope.where(association_key_name => keys)
  end.load(&block)
end

def load_records_in_batch(loaders)

def load_records_in_batch(loaders)
  raw_records = records_for(loaders)
  loaders.each do |loader|
    loader.load_records(raw_records)
    loader.run
  end
end

def records_for(loaders)

def records_for(loaders)
  LoaderRecords.new(loaders, self).records
end