Rails4 と Rails5 とでの eager_load_paths の違い
Rails4 と Rails5 とで eager_load_paths の内容に差異があることを知 りました。 Rails5 では app 以下の全ての concerns ディレクトリや channels ディ レクトリが追加されています。 以下、Rails4 と Rails5 とで実装箇所を追ってみました。 Rails-4.2.10 eager_load_paths を返すメソッド Rails::Engine::Configuration#eager_load_paths ↓ eager_load_paths の構築開始。Rails5 と違いあり Rails::Engine::Configuration#paths ↓ Rails::Paths::Root#add ↓ Rails::Paths::Path#initialize ↓ Rails::Paths::Path#eager_load! ここまでで eager_load_paths の構築完了 ↓ Rails::Paths::Root#eager_load 結果を返す Rails-5.2.0 eager_load_paths を返すメソッド Rails::Engine::Configuration#eager_load_paths ↓ eager_load_paths の構築開始。Rails4 と違いあり Rails::Engine::Configuration#paths ↓ Rails::Paths::Root#add ↓ Rails::Paths::Path#initialize ↓ Rails::Paths::Path#eager_load! ここまでで eager_load_paths の構築完了 ↓ Rails::Paths::Root#eager_load 結果を返す まとめ Rails の eager_load_paths を調べました。app 以下が再帰的に追加され るだけかと思ってましたが、調べたら凝ったことをしていました。config 以下も追加されるのも、なるほど…といった感じでした。...