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