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

Experimental RBS support (using type sampling data from the type_fusion project).

# sig/active_record/associations/preloader/association.rbs

class ActiveRecord::Associations::Preloader::Association::LoaderQuery
  def load_records_for_keys: (Set keys, ) -> untyped
  def records_for: (Array[ActiveRecord::Associations::Preloader::Association] loaders) -> untyped
end

:nodoc:

def eql?(other)

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

def hash

def hash
  [association_key_name, scope.table_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)

Experimental RBS support (using type sampling data from the type_fusion project).

def load_records_for_keys: (Set keys, ) -> untyped

This signature was generated using 1 sample from 1 application.

def load_records_for_keys(keys, &block)
  scope.where(association_key_name => keys).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)

Experimental RBS support (using type sampling data from the type_fusion project).

def records_for: ( loaders) -> untyped

This signature was generated using 1 sample from 1 application.

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