Update: please refer to Laura using ActiveSupport :: Dependencies.autoload_paths below. I left this answer here as an alternative method.
In Rails::Engine , which is included in the Rails application module, the following method exists:
def _all_autoload_paths @_all_autoload_paths ||= (config.autoload_paths + config.eager_load_paths + config.autoload_once_paths).uniq end
So you can either do:
(MyRailsApp::Application.config.autoload_paths + MyRailsApp::Application.config.eager_load_paths + MyRailsApp::Application.config.autoload_once_paths).uniq
or
[:autoload_paths, :eager_load_paths, :autoload_once_paths].collect{|m|MyRailsApp::Application.config.send(m)}.flatten.uniq
or simply:
MyRailsApp::Application._all_autoload_paths
The default result in Rails 3.2.9 is:
["/path/to/my_rails_app/app/assets", "/path/to/my_rails_app/app/controllers", "/path/to/my_rails_app/app/helpers", "/path/to/my_rails_app/app/mailers", "/path/to/my_rails_app/app/models"]
This should include all startup paths that have been added by other gems and custom boot paths.
Gary S. weaver
source share