From abeb0ff2cc99967b852c509e5d3bd186fa8a184c Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Thu, 22 Jul 2010 12:07:45 +0200 Subject: Ensure that Rails.application.initialize! is called only once --- railties/lib/rails/application.rb | 2 ++ railties/test/application/loading_test.rb | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index fb04351b35..300d4c6ab9 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -95,7 +95,9 @@ module Rails end def initialize! + raise "Application has been already initialized." if @initialized run_initializers(self) + @initialized = true self end diff --git a/railties/test/application/loading_test.rb b/railties/test/application/loading_test.rb index 7ea712d27a..a2abf642b8 100644 --- a/railties/test/application/loading_test.rb +++ b/railties/test/application/loading_test.rb @@ -89,6 +89,11 @@ class LoadingTest < Test::Unit::TestCase assert_equal [], ActiveRecord::Base.descendants end + test "initialize_cant_be_called_twice" do + require "#{app_path}/config/environment" + assert_raise(RuntimeError) { ::AppTemplate::Application.initialize! } + end + protected def setup_ar! -- cgit v1.2.3