環境
- Ruby 2.4.2
- Rails 5.1.4
やりたいこと
app
- services/
- neko.rb
- - utils/
- - - hoge.rb
- - users/
- - - test.rb
みたいなserivcesディレクトリ構成があるとして、全てのディレクトリ内のファイルをオートロードパスに含めたいが、デフォルトでは出来ないので、その方法について記載します。
デフォルトでは、
servicesディレクトリの直下のみがオートロードパスの対象となっています。
services.rbを編集
config/initializersディレクトリ内にserices.rbを作成します(自分の環境にはありませんでした)。
services.rbを以下のようにします。
Dir.glob("app/services/**/*.rb") do |file|
require_dependency Rails.root.join(file)
end
これで全てのファイルが対象となっているかと思います。