class Arel::Table
def initialize(name, as: nil, klass: nil, type_caster: klass&.type_caster)
def initialize(name, as: nil, klass: nil, type_caster: klass&.type_caster) @name = name.to_s @klass = klass @type_caster = type_caster # Sometime AR sends an :as parameter to table, to let the table know # that it is an Alias. We may want to override new, and return a # TableAlias node? if as.to_s == @name as = nil end @table_alias = as end