He estado trabajando para que nuestra aplicación Rails 2.3.8 funcione correctamente bajo JRuby. Todo funciona bien hasta que habilite config.threadsafe! para lograr la concurrencia que JRuby ofrece. Esto provocó que los módulos y las clases en lib/ dejaran de cargarse automáticamente.¿Cuál es la forma correcta de cargar módulos/clases desde lib/cuando se usa config.threadsafe! ¿opción?
con config.threadsafe! habilitado:
$ ruby script/runner -e production 'p Sim::Sim200Provisioner'
/Users/amchale/.rvm/gems/[email protected]/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:105:in `const_missing': uninitialized constant Sim::Sim200Provisioner (NameError)
from (eval):1
con config.threadsafe! discapacitados:
$ ruby script/runner -e production 'p Sim::Sim200Provisioner'
Sim::Sim200Provisioner
El archivo en cuestión es lib/SIM/sim200_provisioner.rb donde Sim es app/models/sim.rb. Rails normalmente no tiene problemas para encontrar y cargar el archivo.
¿Necesito manualmente todas nuestras librerías, o hay una forma más similar a la de Rails para manejarlo que me falta?