class ActiveRecord::Associations::JoinDependency
def aliases
def aliases @aliases ||= Aliases.new join_root.each_with_index.map { |join_part, i| column_names = if join_part == join_root && !join_root_alias primary_key = join_root.primary_key primary_key ? [primary_key] : [] else join_part.column_names end columns = column_names.each_with_index.map { |column_name, j| Aliases::Column.new column_name, "t#{i}_r#{j}" } Aliases::Table.new(join_part, columns) } end