class ActiveRecord::Associations::Preloader::ThroughAssociation
def future_classes
def future_classes if run? [] elsif through_preloaders.all?(&:run?) source_preloaders.flat_map(&:future_classes).uniq else through_classes = through_preloaders.flat_map(&:future_classes) source_classes = source_reflection. chain. reject { |reflection| reflection.respond_to?(:polymorphic?) && reflection.polymorphic? }. map(&:klass) (through_classes + source_classes).uniq end end