私のイニシャライザ(config/initializers/
)のコードは、環境でのみ実行されますが、:test
または:production
では実行されません。それを行う最善の方法は何ですか?Rails:環境ごとのイニシャライザ?
config/environments/test.rb
に貼り付けるのは汚れているようですが、if Rails.env == 'development' do ... end
文でイニシャライザファイル全体をラップするのはあまり好きではありません。これを行ういくつかの標準的な方法がありますか?
(背景:テストの読み込み時間を短縮するために、私は私のGemfile
の:development
グループにバリスタの宝石を移動しようとしているが、config/initializers/barista_config.rb
Barista.configure
を呼び出して、今それはテスト(および生産のその上でチョーク)モード。 )
Foo gemが開発モードまたはテストモードでのみ読み込まれている場合は、 'if defined?(Foo)'を使用することもできます。 [Konacha](https://github.com/jfirebaugh/konacha)はこれを推奨しています。 –
私はKonachaのアプローチが好きです - 既にGemfileに記載されているものを繰り返さないようにします。 – ZoFreX