.rename_tablees un método de instancia, no un método de clase, por lo que llamar Class.methodno va a funcionar. En su lugar, tendrá que crear una instancia de la clase, y llame al método en la instancia, así: Class.new.method.
[EDITAR] En esta instancia, ActiveRecord::ConnectionAdapters::SchemaStatementsni siquiera es una clase (como lo señaló la cámara), lo que significa que ni siquiera puedes crear una instancia de ella según lo que dije anteriormente. E incluso si usaras el ejemplo de cam class Foo; include ActiveRecord::ConnectionAdapters::SchemaStatements; def bar; rename_table; end; end;, todavía no funcionaría, ya que rename_tableplantea una excepción.
Por otro lado, ActiveRecord::ConnectionAdapters::MysqlAdapter es una clase, y es probable que tenga que usar esta clase para cambiar el nombre de su tabla (o SQLite o PostgreSQL, dependiendo de la base de datos que esté usando). Ahora, como sucede, ActiveRecord::ConnectionAdapters::MysqlAdapterya se puede acceder a él Model.connection, por lo que debería poder hacerlo completamente Model.connection.rename_table, utilizando cualquier modelo en su aplicación. [/EDITAR]
Sin embargo, si desea cambiar el nombre de una tabla de forma permanente, le sugiero que utilice una migración para hacerlo. Es fácil y la forma preferida de manipular la estructura de su base de datos con Rails. Aquí se explica cómo hacerlo:
# Commandline
rails generate migration rename_my_table
# In db/migrate/[timestamp]_rename_my_table.rb:
class RenameMyTable < ActiveRecord::Migration
def self.up
rename_table :my_table, :my_new_table
end
def self.down
rename_table :my_new_table, :my_table
end
end
Luego, puede ejecutar su migración con rake db:migrate(que llama al self.upmétodo) y usar rake db:rollback(qué llamadas self.down) para deshacer la migración.