En una aplicación de Rails en la que estoy trabajando, tengo un modelo "Tipo" que se relaciona con el modelo de herencia de tabla única "Nodo": cualquier posible subclase de Nodo se define como un Tipo en la tabla de tipos.Carga dinámica de clases: ¿hay un "method_missing" para las clases en Ruby?
Ahora es posible cargar todas las clases en un inicializador, pero me gustaría cargar las subclases solo cuando sean necesarias.
La mejor solución que puedo pensar sería tener un respaldo en una constante no inicializada que verificaría si esa constante puede representar una clase en la aplicación, algo similar a lo que hace el método_destino.
Me gustaría obtener algunos consejos sobre cómo y dónde definir esta lógica, o si hay una mejor solución.
ops! Publiqué la misma respuesta solo unos segundos después: P –
¿Lo tomo usted dice (ab) usar, ya que está lejos de ser una buena práctica? :) En el caso, cualquier sugerencia es más que bienvenida y apreciada. De todos modos exactamente lo que estaba buscando, ¡muchas gracias! – amencarini
Oh, no dije eso, fue más una pequeña puñalada en todas las metaprogramaciones que limitan el uso y el abuso la mayor parte del tiempo. La mayoría de las veces soy el culpable en eso ... ;-) –