Obtener el nombre de la tabla de ActiveRecord

solíaActiveRecord::Base.set_table_name para establecer el nombre de mi tabla en una clase ActiveRecord creada dinámicamente. Ahora necesito saber cómo obtener ese valor más adelante. Los documentos de la API no mencionan nada sobre cómo hacer esto. Además, no puedo derivar el nombre de la tabla del nombre de clase de ActiveRecord porque tienen una clave diferente al nombre de la tabla.

Aquí hay un mejor ejemplo de lo que estoy haciendo.

<code>table_klass = Class.new(ActiveRecord::Base)
    ActiveRecord::Base.const_set(const_name,table_klass)
    app = @app
    table_klass.class_eval do
      after_save do
        @@channel.push self
      end
      set_table_name t.server_table
      establish_connection(
        :adapter  => "mysql2",
        :host     => app.db_host,
        :username => app.db_user,
        :password => app.db_pass,
        :database => app.db_name
      )
    end
</code>

En este caso, si elconst_name = Prueba y el nombre de la base de datos es Base de datos, debe crear una clase de ActiveRecord :: Base :: DatabaseTest, lo que hace. Pero cuando llamo a table_name, obtengo una variable o método local no definido. ¿Necesito llamar a table_name en la clase?

Actualizar: Lo tengo trabajando llamandoinstance.class.table_name

Respuestas a la pregunta(4)

Su respuesta a la pregunta