この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
こんにちは。
KBMJでRuby on Rails を使ったweb開発に携わっているyoppiといいます。
今回は、Rails 2.0のプロセス起動時に読み込まれるファイルの順序について調べてみました。
まず、気になったのはRiding Rails: Rails 2.0: Preview Releaseにある。config/initializers配下のファイルの読み込みがどの段階なのかということです。
Rails::Initializerのソースを見てみると、proccessの一番最後で行われていたので、プロセス起動時の最後の段階で読み込まれるようです。(ちなみに複数ある場合は、ファイル名順)
config/environment.rbで初期化した変数とか使えるのかな~というのが一番の懸念点でしたが、大丈夫なようです。
この調査で、わかったのですが、プロセス起動時前の処理とかも別ファイルで指定できるようになっているみたいです。
config/preinitializer.rbを用意すると、プロセス起動時の一番最初にこれが読み込まれます。あんまり使うことはなさそうですが、頭の片隅に入れておくと今後役に立つかもしれません。
config/initializers配下については使っていきたいと思っていたので、読み込まれる段階がわかってよかったです。config/preinitializer.rbについても必要になったら使っていきたいと思います。
【まとめ】起動時のファイルの読み込みの順番
config/preinitializer.rb
config/environment.rb
config/initializers配下のファイル