Provide a unique point for running initializers.

This commit is contained in:
José Valim
2011-12-12 15:34:31 +01:00
parent 27f0add3f9
commit c2e3ce8d1e
4 changed files with 13 additions and 9 deletions

View File

@@ -46,10 +46,11 @@ module Rails
# 5) Load config/environments/ENV.rb
# 6) Run config.before_initialize callbacks
# 7) Run Railtie#initializer defined by railties, engines and application.
# One by one, each engine sets up its load paths, routes and runs its initializer files.
# 8) Build the middleware stack and run to_prepare callbacks
# 9) Run config.before_eager_load and eager_load if cache classes is true
# 10) Run config.after_initialize callbacks
# One by one, each engine sets up its load paths, routes, locales and so on.
# 8) Runs all registered config/initializers/*, executing the engines one first
# 9) Build the middleware stack and run to_prepare callbacks
# 10) Run config.before_eager_load and eager_load if cache classes is true
# 11) Run config.after_initialize callbacks
#
class Application < Engine
autoload :Bootstrap, 'rails/application/bootstrap'

View File

@@ -11,7 +11,7 @@ module Rails
:force_ssl, :helpers_paths, :logger, :log_tags, :preload_frameworks,
:reload_plugins, :secret_token, :serve_static_assets,
:ssl_options, :static_cache_control, :session_options,
:time_zone, :whiny_nils, :railties_order
:time_zone, :whiny_nils, :railties_order, :all_initializers
attr_writer :log_level
attr_reader :encoding
@@ -36,6 +36,7 @@ module Rails
@generators = app_generators
@cache_store = [ :file_store, "#{root}/tmp/cache/" ]
@railties_order = [:all]
@all_initializers = []
@assets = ActiveSupport::OrderedOptions.new
@assets.enabled = false

View File

@@ -4,6 +4,10 @@ module Rails
include Initializable
$rails_rake_task = nil
initializer :load_config_initializers do
config.all_initializers.each { |init| load(init) }
end
initializer :add_generator_templates do
config.generators.templates.unshift(*paths["lib/templates"].existent)
end

View File

@@ -583,10 +583,8 @@ module Rails
end
end
initializer :load_config_initializers do
config.paths["config/initializers"].existent.sort.each do |initializer|
load(initializer)
end
initializer :append_config_initializers do |app|
app.config.all_initializers.concat config.paths["config/initializers"].existent.sort
end
initializer :engines_blank_point do