aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2014-08-07 15:50:46 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2014-08-07 15:50:46 -0700
commit8121eefc222fbd8979ab70d89725a2e330f5a9b2 (patch)
treea51235a8f0d059b83ba15efddcc067d6299165e1 /railties
parent22969898262b8c92bea1ac93b668a817c7511158 (diff)
downloadrails-8121eefc222fbd8979ab70d89725a2e330f5a9b2.tar.gz
rails-8121eefc222fbd8979ab70d89725a2e330f5a9b2.tar.bz2
rails-8121eefc222fbd8979ab70d89725a2e330f5a9b2.zip
add a new constructor that runs load hooks
Diffstat (limited to 'railties')
-rw-r--r--railties/lib/rails/application.rb4
-rw-r--r--railties/test/application/multiple_applications_test.rb10
2 files changed, 9 insertions, 5 deletions
diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb
index 796c068a10..61639be7c6 100644
--- a/railties/lib/rails/application.rb
+++ b/railties/lib/rails/application.rb
@@ -94,6 +94,10 @@ module Rails
super.run_load_hooks!
end
+ def create(initial_variable_values = {}, &block)
+ new(initial_variable_values, &block).run_load_hooks!
+ end
+
# Makes the +new+ method public.
#
# Note that Rails::Application inherits from Rails::Engine, which
diff --git a/railties/test/application/multiple_applications_test.rb b/railties/test/application/multiple_applications_test.rb
index 98707d22e4..9ebf163671 100644
--- a/railties/test/application/multiple_applications_test.rb
+++ b/railties/test/application/multiple_applications_test.rb
@@ -36,23 +36,23 @@ module ApplicationTests
end
def test_initialization_of_application_with_previous_config
- application1 = AppTemplate::Application.new(config: Rails.application.config)
- application2 = AppTemplate::Application.new
+ application1 = AppTemplate::Application.create(config: Rails.application.config)
+ application2 = AppTemplate::Application.create
assert_equal Rails.application.config, application1.config, "Creating a new application while setting an initial config should result in the same config"
assert_not_equal Rails.application.config, application2.config, "New applications without setting an initial config should not have the same config"
end
def test_initialization_of_application_with_previous_railties
- application1 = AppTemplate::Application.new(railties: Rails.application.railties)
- application2 = AppTemplate::Application.new
+ application1 = AppTemplate::Application.create(railties: Rails.application.railties)
+ application2 = AppTemplate::Application.create
assert_equal Rails.application.railties, application1.railties
assert_not_equal Rails.application.railties, application2.railties
end
def test_initialize_new_application_with_all_previous_initialization_variables
- application1 = AppTemplate::Application.new(
+ application1 = AppTemplate::Application.create(
config: Rails.application.config,
railties: Rails.application.railties,
routes_reloader: Rails.application.routes_reloader,