class ActiveRecord::Associations::AliasTracker
def self.create(pool, initial_table, joins, aliases = nil)
Keeps track of table aliases for ActiveRecord::Associations::JoinDependency
def self.create(pool, initial_table, joins, aliases = nil) pool.with_connection do |connection| if joins.empty? aliases ||= Hash.new(0) elsif aliases default_proc = aliases.default_proc || proc { 0 } aliases.default_proc = proc { |h, k| h[k] = initial_count_for(connection, k, joins) + default_proc.call(h, k) } else aliases = Hash.new { |h, k| h[k] = initial_count_for(connection, k, joins) } end aliases[initial_table] = 1 new(connection.table_alias_length, aliases) end end