Skip to Content Skip to Search

class Rails::Railtie::Configuration

Public class methods

Source code GitHub
# File railties/lib/rails/railtie/configuration.rb, line 8
def initialize
  @@options ||= {}
end

Public instance methods

Last configurable block to run. Called after frameworks initialize.

Source code GitHub
# File railties/lib/rails/railtie/configuration.rb, line 70
def after_initialize(&block)
  ActiveSupport.on_load(:after_initialize, yield: true, &block)
end

Called after application routes have been loaded.

Source code GitHub
# File railties/lib/rails/railtie/configuration.rb, line 75
def after_routes_loaded(&block)
  ActiveSupport.on_load(:after_routes_loaded, yield: true, &block)
end

This allows you to modify application’s generators from Railties.

Values set on app_generators will become defaults for application, unless application overwrites them.

Source code GitHub
# File railties/lib/rails/railtie/configuration.rb, line 47
def app_generators
  @@app_generators ||= Rails::Configuration::Generators.new
  yield(@@app_generators) if block_given?
  @@app_generators
end

This allows you to modify the application’s middlewares from Engines.

All operations you run on the app_middleware will be replayed on the application once it is defined and the default_middlewares are created

Source code GitHub
# File railties/lib/rails/railtie/configuration.rb, line 39
def app_middleware
  @@app_middleware ||= Rails::Configuration::MiddlewareStackProxy.new
end

First configurable block to run. Called before any initializers are run.

Source code GitHub
# File railties/lib/rails/railtie/configuration.rb, line 54
def before_configuration(&block)
  ActiveSupport.on_load(:before_configuration, yield: true, &block)
end

Third configurable block to run. Does not run if config.eager_load set to false.

Source code GitHub
# File railties/lib/rails/railtie/configuration.rb, line 60
def before_eager_load(&block)
  ActiveSupport.on_load(:before_eager_load, yield: true, &block)
end

Second configurable block to run. Called before frameworks initialize.

Source code GitHub
# File railties/lib/rails/railtie/configuration.rb, line 65
def before_initialize(&block)
  ActiveSupport.on_load(:before_initialize, yield: true, &block)
end

All namespaces that are eager loaded

Source code GitHub
# File railties/lib/rails/railtie/configuration.rb, line 18
def eager_load_namespaces
  @@eager_load_namespaces ||= []
end
Source code GitHub
# File railties/lib/rails/railtie/configuration.rb, line 90
def respond_to?(name, include_private = false)
  super || @@options.key?(name.to_sym)
end

Defines generic callbacks to run before after_initialize. Useful for Rails::Railtie subclasses.

Source code GitHub
# File railties/lib/rails/railtie/configuration.rb, line 86
def to_prepare(&blk)
  to_prepare_blocks << blk if blk
end

Array of callbacks defined by to_prepare.

Source code GitHub
# File railties/lib/rails/railtie/configuration.rb, line 80
def to_prepare_blocks
  @@to_prepare_blocks ||= []
end

Add directories that should be watched for change. The key of the hashes should be directories and the values should be an array of extensions to match in each directory.

Source code GitHub
# File railties/lib/rails/railtie/configuration.rb, line 30
def watchable_dirs
  @@watchable_dirs ||= {}
end

Add files that should be watched for change.

Source code GitHub
# File railties/lib/rails/railtie/configuration.rb, line 23
def watchable_files
  @@watchable_files ||= []
end

Definition files