Me gustaría que el código en uno de mis inicializadores (en config/initializers/
) se ejecute solo para el entorno :development
, pero no :test
o :production
. ¿Cuál es la mejor manera de hacer eso?Rieles: ¿Inicializadores por entorno?
Pegarlo en config/environments/test.rb
parece sucio, y no me gusta envolver todo el archivo de inicializador en una declaración if Rails.env == 'development' do ... end
. ¿Hay alguna manera canónica de hacer esto?
(Antecedentes: Para acelerar los tiempos de carga de la prueba, que estoy tratando de mover la gema de Baristas en el grupo :development
de mi Gemfile
, pero config/initializers/barista_config.rb
llama Barista.configure
, por lo que ahora se ahoga en que en la prueba (y el modo de producción).)
Otro patrón similar es usar 'if defined? (Foo)', si la gema Foo solo se carga en modo desarrollo o prueba. [Konacha] (https://github.com/jfirebaugh/konacha) recomienda esto, por ejemplo. –
Me gusta el enfoque de Konacha: evita repetir lo que ya se menciona en el Gemfile. – ZoFreX