Skip to Content Skip to Search
Methods
E
H
L
N
R

Attributes

[R] association_key_name
[R] scope

Class Public methods

new(scope, association_key_name)

# 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

Instance Public methods

eql?(other)

# 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

hash()

# 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

load_records_for_keys(keys, &block)

# 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

load_records_in_batch(loaders)

# 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

records_for(loaders)

# File activerecord/lib/active_record/associations/preloader/association.rb, line 25
def records_for(loaders)
  LoaderRecords.new(loaders, self).records
end