Sembra che questo problema verrà risolto in Rails 4: http://blog.plataformatec.com.br/2012/08/eager-loading-for-greater-good/ ma fino ad allora, mi chiedo come ansioso-caricare i moduli/classes nel mio /lib
.eager loading di rotaie lib
In IRB sembra che vengono caricati on-demand la prima volta che provo ad accedere:
Foo::Bar.constants
=> []
Foo::Bar::Service
=> Foo::Bar::Service
Foo::Bar.constants
=> [:ServiceBase, :Service]
ho diverse altre classi in quel modulo, e il mio codice dipende dalla capacità di guardare in su utilizzando Foo::Bar.const_defined?
in fase di runtime: come posso garantire che tutte le classi di Foo::Bar
vengano caricate all'avvio?
Sto già utilizzando config.autoload_paths += %W(#{config.root}/lib)
in application.rb
.
non Vuol 'load' richiedono un nome del file? Ho provato in vari modi per caricare l'intera dir ma non sembra funzionare. 'LoadError: impossibile caricare tale file - foo' – devth
@devth, prova la risposta modificata. – Mori
Che funziona. Grazie. – devth