aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--railties/lib/rails/application.rb2
-rw-r--r--railties/lib/rails/application/bootstrap.rb4
-rw-r--r--railties/test/application/initializer_test.rb13
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