This method is called just after an application inherits from Rails::Application, allowing the developer to load classes in lib and use them during application configuration.
class MyApplication < Rails::Application require "my_backend" # in lib/my_backend config.i18n.backend = MyBackend end
Notice this method takes into consideration the default root path. So if you are changing config.root inside your application definition or having a custom Rails application, you will need to add lib to $LOAD_PATH on your own in case you need to load files in lib/ during the application configuration as well.
# File railties/lib/rails/application.rb, line 267 def add_lib_to_load_path! #:nodoc: path = File.join config.root, 'lib' if File.exist?(path) && !$LOAD_PATH.include?(path) $LOAD_PATH.unshift(path) end end