Methods
- after_initialize
- after_routes_loaded
- app_generators
- app_middleware
- before_configuration
- before_eager_load
- before_initialize
- eager_load_namespaces
- new
- respond_to?
- to_prepare
- to_prepare_blocks
- watchable_dirs
- watchable_files
Class Public methods
new()
π Source code
# File railties/lib/rails/railtie/configuration.rb, line 8
def initialize
@@options ||= {}
end
π See on GitHub
Instance Public methods
after_initialize(&block)
Last configurable block to run. Called after frameworks initialize.
π Source code
# File railties/lib/rails/railtie/configuration.rb, line 70
def after_initialize(&block)
ActiveSupport.on_load(:after_initialize, yield: true, &block)
end
π See on GitHub
after_routes_loaded(&block)
Called after application routes have been loaded.
π Source code
# File railties/lib/rails/railtie/configuration.rb, line 75
def after_routes_loaded(&block)
ActiveSupport.on_load(:after_routes_loaded, yield: true, &block)
end
π See on GitHub
app_generators()
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
# 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
π See on GitHub
app_middleware()
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
# File railties/lib/rails/railtie/configuration.rb, line 39
def app_middleware
@@app_middleware ||= Rails::Configuration::MiddlewareStackProxy.new
end
π See on GitHub
before_configuration(&block)
First configurable block to run. Called before any initializers are run.
π Source code
# File railties/lib/rails/railtie/configuration.rb, line 54
def before_configuration(&block)
ActiveSupport.on_load(:before_configuration, yield: true, &block)
end
π See on GitHub
before_eager_load(&block)
Third configurable block to run. Does not run if config.eager_load
set to false.
π Source code
# File railties/lib/rails/railtie/configuration.rb, line 60
def before_eager_load(&block)
ActiveSupport.on_load(:before_eager_load, yield: true, &block)
end
π See on GitHub
before_initialize(&block)
Second configurable block to run. Called before frameworks initialize.
π Source code
# File railties/lib/rails/railtie/configuration.rb, line 65
def before_initialize(&block)
ActiveSupport.on_load(:before_initialize, yield: true, &block)
end
π See on GitHub
eager_load_namespaces()
All namespaces that are eager loaded
π Source code
# File railties/lib/rails/railtie/configuration.rb, line 18
def eager_load_namespaces
@@eager_load_namespaces ||= []
end
π See on GitHub
respond_to?(name, include_private = false)
π Source code
# File railties/lib/rails/railtie/configuration.rb, line 90
def respond_to?(name, include_private = false)
super || @@options.key?(name.to_sym)
end
π See on GitHub
to_prepare(&blk)
Defines generic callbacks to run before after_initialize
. Useful for Rails::Railtie
subclasses.
π Source code
# File railties/lib/rails/railtie/configuration.rb, line 86
def to_prepare(&blk)
to_prepare_blocks << blk if blk
end
π See on GitHub
to_prepare_blocks()
Array
of callbacks defined by to_prepare
.
π Source code
# File railties/lib/rails/railtie/configuration.rb, line 80
def to_prepare_blocks
@@to_prepare_blocks ||= []
end
π See on GitHub
watchable_dirs()
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
# File railties/lib/rails/railtie/configuration.rb, line 30
def watchable_dirs
@@watchable_dirs ||= {}
end
π See on GitHub
watchable_files()
Add files that should be watched for change.
π Source code
# File railties/lib/rails/railtie/configuration.rb, line 23
def watchable_files
@@watchable_files ||= []
end
π See on GitHub