diff options
Diffstat (limited to 'railties/lib/initializer.rb')
-rw-r--r-- | railties/lib/initializer.rb | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/railties/lib/initializer.rb b/railties/lib/initializer.rb index ef0520d7cc..cdf2a22c83 100644 --- a/railties/lib/initializer.rb +++ b/railties/lib/initializer.rb @@ -101,6 +101,7 @@ module Rails def self.run(initializer = nil, config = nil) default.config = config if config default.config ||= Configuration.new + yield default.config if block_given? default.run(initializer) end end @@ -176,7 +177,8 @@ module Rails # Action Pack, Action Mailer, and Active Resource) are loaded. Initializer.default.add :require_frameworks do begin - require 'active_support/all' + require 'active_support' + require 'active_support/core_ext/kernel/reporting' configuration.frameworks.each { |framework| require(framework.to_s) } rescue LoadError => e # Re-raise as RuntimeError because Mongrel would swallow LoadError. @@ -396,12 +398,15 @@ module Rails end Initializer.default.add :initialize_metal do - Rails::Rack::Metal.requested_metals = configuration.metals - Rails::Rack::Metal.metal_paths += plugin_loader.engine_metal_paths + # TODO: Make Rails and metal work without ActionController + if defined?(ActionController) + Rails::Rack::Metal.requested_metals = configuration.metals + Rails::Rack::Metal.metal_paths += plugin_loader.engine_metal_paths - configuration.middleware.insert_before( - :"ActionDispatch::ParamsParser", - Rails::Rack::Metal, :if => Rails::Rack::Metal.metals.any?) + configuration.middleware.insert_before( + :"ActionDispatch::ParamsParser", + Rails::Rack::Metal, :if => Rails::Rack::Metal.metals.any?) + end end # Add the load paths used by support functions such as the info controller |