diff options
author | José Valim <jose.valim@gmail.com> | 2010-01-24 12:15:46 +0100 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2010-01-24 12:15:46 +0100 |
commit | b92608770e20618ab6a6c67099dd19ae4533689e (patch) | |
tree | 205b1303668555a31f3d228a58c84a10ac53093d | |
parent | 37e4deb2606557e5340b48169ffc1435bb331439 (diff) | |
download | rails-b92608770e20618ab6a6c67099dd19ae4533689e.tar.gz rails-b92608770e20618ab6a6c67099dd19ae4533689e.tar.bz2 rails-b92608770e20618ab6a6c67099dd19ae4533689e.zip |
Ensure environment config has higher priority than application ones.
-rw-r--r-- | railties/lib/rails/application.rb | 2 | ||||
-rw-r--r-- | railties/lib/rails/application/bootstrap.rb | 4 | ||||
-rw-r--r-- | railties/test/application/initializer_test.rb | 13 |
3 files changed, 16 insertions, 3 deletions
diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index 90118c8cfc..e14719c758 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -11,7 +11,6 @@ module Rails autoload :Railties, 'rails/application/railties' autoload :RoutesReloader, 'rails/application/routes_reloader' - # TODO Ensure production settings are read properly class << self private :new alias :configure :class_eval @@ -24,7 +23,6 @@ module Rails raise "You cannot have more than one Rails::Application" if Rails.application super Rails.application = base.instance - base.require_environment! end protected diff --git a/railties/lib/rails/application/bootstrap.rb b/railties/lib/rails/application/bootstrap.rb index 819d00be4e..3c339ffc57 100644 --- a/railties/lib/rails/application/bootstrap.rb +++ b/railties/lib/rails/application/bootstrap.rb @@ -3,6 +3,10 @@ module Rails module Bootstrap include Initializable + initializer :load_environment_config do |app| + app.require_environment! + end + initializer :load_all_active_support do |app| require "active_support/all" unless app.config.active_support.bare end diff --git a/railties/test/application/initializer_test.rb b/railties/test/application/initializer_test.rb index 6686d82f19..053757979b 100644 --- a/railties/test/application/initializer_test.rb +++ b/railties/test/application/initializer_test.rb @@ -38,13 +38,24 @@ module ApplicationTests end test "load environment with global" do - app_file "config/environments/development.rb", "$initialize_test_set_from_env = 'success'" + app_file "config/environments/development.rb", <<-RUBY + $initialize_test_set_from_env = 'success' + AppTemplate::Application.configure do + config.cache_classes = true + config.time_zone = "Brasilia" + end + RUBY + assert_nil $initialize_test_set_from_env add_to_config <<-RUBY config.root = "#{app_path}" + config.time_zone = "UTC" RUBY + require "#{app_path}/config/environment" assert_equal "success", $initialize_test_set_from_env + assert AppTemplate::Application.config.cache_classes + assert_equal "Brasilia", AppTemplate::Application.config.time_zone end test "action_controller load paths set only if action controller in use" do |