class ActiveRecord::Relation::Merger

def merge_preloads

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

def merge_preloads: () -> nil

This signature was generated using 1 sample from 1 application.

def merge_preloads
  return if other.preload_values.empty? && other.includes_values.empty?
  if other.klass == relation.klass
    relation.preload_values |= other.preload_values unless other.preload_values.empty?
    relation.includes_values |= other.includes_values unless other.includes_values.empty?
  else
    reflection = relation.klass.reflect_on_all_associations.find do |r|
      r.class_name == other.klass.name
    end || return
    unless other.preload_values.empty?
      relation.preload! reflection.name => other.preload_values
    end
    unless other.includes_values.empty?
      relation.includes! reflection.name => other.includes_values
    end
  end
end