From 97296b11e2c4011ea5522c4de0153f7ffa6a47ae Mon Sep 17 00:00:00 2001 From: Carl Lerche Date: Thu, 15 Oct 2009 14:50:02 -0700 Subject: Have config/application.rb contain the application definition and require that file instead of config/boot.rb or config/environment.rb in script/*. --- railties/lib/rails/commands/about.rb | 3 +- railties/lib/rails/commands/destroy.rb | 2 +- railties/lib/rails/commands/generate.rb | 2 +- .../lib/rails/commands/performance/benchmarker.rb | 2 +- .../lib/rails/commands/performance/profiler.rb | 2 +- railties/lib/rails/commands/runner.rb | 2 +- railties/lib/rails/commands/update.rb | 1 - railties/lib/rails/generators/actions.rb | 2 +- .../rails/generators/rails/app/app_generator.rb | 1 + .../rails/generators/rails/app/templates/Rakefile | 2 +- .../rails/generators/rails/app/templates/config.ru | 2 +- .../rails/app/templates/config/application.rb | 48 ++++++++++++++++++++ .../rails/app/templates/config/environment.rb | 52 ++-------------------- .../generators/rails/app/templates/script/about.tt | 2 +- .../rails/app/templates/script/console.tt | 2 +- .../rails/app/templates/script/dbconsole.tt | 2 +- .../rails/app/templates/script/destroy.tt | 2 +- .../rails/app/templates/script/generate.tt | 2 +- .../templates/script/performance/benchmarker.tt | 2 +- .../app/templates/script/performance/profiler.tt | 2 +- .../rails/app/templates/script/plugin.tt | 2 +- .../rails/app/templates/script/runner.tt | 2 +- .../rails/app/templates/script/server.tt | 2 +- railties/lib/rails/initializer.rb | 1 - railties/test/abstract_unit.rb | 1 + railties/test/application/generators_test.rb | 4 ++ railties/test/application/initializer_test.rb | 15 +++++++ railties/test/application/plugins_test.rb | 15 +++++-- railties/test/generators/actions_test.rb | 10 ++--- railties/test/generators/app_generator_test.rb | 2 +- .../test/initializer/check_ruby_version_test.rb | 2 + railties/test/initializer/initialize_i18n_test.rb | 2 + railties/test/initializer/path_test.rb | 1 + railties/test/isolation/abstract_unit.rb | 4 +- 34 files changed, 118 insertions(+), 80 deletions(-) create mode 100644 railties/lib/rails/generators/rails/app/templates/config/application.rb (limited to 'railties') diff --git a/railties/lib/rails/commands/about.rb b/railties/lib/rails/commands/about.rb index bc2cfcb948..9a05c47390 100644 --- a/railties/lib/rails/commands/about.rb +++ b/railties/lib/rails/commands/about.rb @@ -1,3 +1,4 @@ -require "#{RAILS_ROOT}/config/environment" +require "#{RAILS_ROOT}/config/application" +Rails.application.new require 'rails/info' puts Rails::Info diff --git a/railties/lib/rails/commands/destroy.rb b/railties/lib/rails/commands/destroy.rb index 5013d30b83..860c03e01e 100644 --- a/railties/lib/rails/commands/destroy.rb +++ b/railties/lib/rails/commands/destroy.rb @@ -1,5 +1,5 @@ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'generators')) -require "#{RAILS_ROOT}/config/environment" +require "#{RAILS_ROOT}/config/application" if ARGV.size == 0 Rails::Generators.help diff --git a/railties/lib/rails/commands/generate.rb b/railties/lib/rails/commands/generate.rb index 32cabcab10..cfa6a51d94 100755 --- a/railties/lib/rails/commands/generate.rb +++ b/railties/lib/rails/commands/generate.rb @@ -1,5 +1,5 @@ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'generators')) -require "#{RAILS_ROOT}/config/environment" +Rails.application.new if ARGV.size == 0 Rails::Generators.help diff --git a/railties/lib/rails/commands/performance/benchmarker.rb b/railties/lib/rails/commands/performance/benchmarker.rb index e8804fe1bf..5039c5408c 100644 --- a/railties/lib/rails/commands/performance/benchmarker.rb +++ b/railties/lib/rails/commands/performance/benchmarker.rb @@ -10,9 +10,9 @@ rescue ArgumentError N = 1 end -require RAILS_ROOT + '/config/environment' require 'benchmark' include Benchmark +Rails.application.new # Don't include compilation in the benchmark ARGV.each { |expression| eval(expression) } diff --git a/railties/lib/rails/commands/performance/profiler.rb b/railties/lib/rails/commands/performance/profiler.rb index 7df840f197..7274e2dfb7 100644 --- a/railties/lib/rails/commands/performance/profiler.rb +++ b/railties/lib/rails/commands/performance/profiler.rb @@ -5,7 +5,7 @@ end # Keep the expensive require out of the profile. $stderr.puts 'Loading Rails...' -require RAILS_ROOT + '/config/environment' +Rails.application.new # Initialize the application # Define a method to profile. if ARGV[1] and ARGV[1].to_i > 1 diff --git a/railties/lib/rails/commands/runner.rb b/railties/lib/rails/commands/runner.rb index 510128318a..d24f36dd63 100644 --- a/railties/lib/rails/commands/runner.rb +++ b/railties/lib/rails/commands/runner.rb @@ -36,7 +36,7 @@ ARGV.delete(code_or_file) ENV["RAILS_ENV"] = options[:environment] RAILS_ENV.replace(options[:environment]) if defined?(RAILS_ENV) -require RAILS_ROOT + '/config/environment' +Rails.application.new begin if code_or_file.nil? diff --git a/railties/lib/rails/commands/update.rb b/railties/lib/rails/commands/update.rb index f3b3ad0775..85a81cddf0 100644 --- a/railties/lib/rails/commands/update.rb +++ b/railties/lib/rails/commands/update.rb @@ -1,5 +1,4 @@ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'generators')) -require "#{RAILS_ROOT}/config/environment" if ARGV.size == 0 Rails::Generators.help diff --git a/railties/lib/rails/generators/actions.rb b/railties/lib/rails/generators/actions.rb index c4552dd399..9254f8d918 100644 --- a/railties/lib/rails/generators/actions.rb +++ b/railties/lib/rails/generators/actions.rb @@ -71,7 +71,7 @@ module Rails in_root do if options[:env].nil? - inject_into_file 'config/environment.rb', "\n #{data}", :after => sentinel, :verbose => false + inject_into_file 'config/application.rb', "\n #{data}", :after => sentinel, :verbose => false else Array.wrap(options[:env]).each do|env| append_file "config/environments/#{env}.rb", "\n#{data}", :verbose => false diff --git a/railties/lib/rails/generators/rails/app/app_generator.rb b/railties/lib/rails/generators/rails/app/app_generator.rb index bd7af25bd5..49b13cae2b 100644 --- a/railties/lib/rails/generators/rails/app/app_generator.rb +++ b/railties/lib/rails/generators/rails/app/app_generator.rb @@ -66,6 +66,7 @@ module Rails::Generators inside "config" do copy_file "routes.rb" + template "application.rb" template "environment.rb" directory "environments" diff --git a/railties/lib/rails/generators/rails/app/templates/Rakefile b/railties/lib/rails/generators/rails/app/templates/Rakefile index bd4dec5389..1dce9863f2 100755 --- a/railties/lib/rails/generators/rails/app/templates/Rakefile +++ b/railties/lib/rails/generators/rails/app/templates/Rakefile @@ -1,7 +1,7 @@ # Add your own tasks in files placed in lib/tasks ending in .rake, # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. -require(File.join(File.dirname(__FILE__), 'config', 'boot')) +require File.expand_path(File.join(File.dirname(__FILE__), 'config', 'environment')) require 'rake' require 'rake/testtask' diff --git a/railties/lib/rails/generators/rails/app/templates/config.ru b/railties/lib/rails/generators/rails/app/templates/config.ru index 50ee033d44..3702ad0466 100644 --- a/railties/lib/rails/generators/rails/app/templates/config.ru +++ b/railties/lib/rails/generators/rails/app/templates/config.ru @@ -1,5 +1,5 @@ # Require your environment file to bootstrap Rails -require ::File.dirname(__FILE__) + '/config/environment' +require File.expand_path('../config/application', __FILE__) # Dispatch the request run Rails.application.new diff --git a/railties/lib/rails/generators/rails/app/templates/config/application.rb b/railties/lib/rails/generators/rails/app/templates/config/application.rb new file mode 100644 index 0000000000..bff74a7786 --- /dev/null +++ b/railties/lib/rails/generators/rails/app/templates/config/application.rb @@ -0,0 +1,48 @@ +# Bootstrap the Rails environment, frameworks, and default configuration +require File.expand_path(File.join(File.dirname(__FILE__), 'boot')) + +Rails::Initializer.run do |config| + # Settings in config/environments/* take precedence over those specified here. + # Application configuration should go into files in config/initializers + # -- all .rb files in that directory are automatically loaded. + + # Add additional load paths for your own custom dirs + # config.load_paths += %W( #{RAILS_ROOT}/extras ) + + # Specify gems that this application depends on and have them installed with rake gems:install + # config.gem "bj" + # config.gem "hpricot", :version => '0.6', :source => "http://code.whytheluckystiff.net" + # config.gem "sqlite3-ruby", :lib => "sqlite3" + # config.gem "aws-s3", :lib => "aws/s3" + + # Only load the plugins named here, in the order given (default is alphabetical). + # :all can be used as a placeholder for all plugins not explicitly named + # config.plugins = [ :exception_notification, :ssl_requirement, :all ] + + # Skip frameworks you're not going to use. To use Rails without a database, + # you must remove the Active Record framework. +<% if options[:skip_activerecord] -%> + config.frameworks -= [ :active_record ] +<% else -%> + # config.frameworks -= [ :active_record, :active_resource, :action_mailer ] + + # Activate observers that should always be running + # config.active_record.observers = :cacher, :garbage_collector, :forum_observer +<% end -%> + + # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. + # Run "rake -D time" for a list of tasks for finding time zone names. + config.time_zone = 'UTC' + + # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. + # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}')] + # config.i18n.default_locale = :de + + # Configure generators values. Many other options are available, be sure to + # check the documentation. + # config.generators do |g| + # g.orm :active_record + # g.template_engine :erb + # g.test_framework :test_unit, :fixture => true + # end +end \ No newline at end of file diff --git a/railties/lib/rails/generators/rails/app/templates/config/environment.rb b/railties/lib/rails/generators/rails/app/templates/config/environment.rb index adb3a3060a..fcf4eddb00 100644 --- a/railties/lib/rails/generators/rails/app/templates/config/environment.rb +++ b/railties/lib/rails/generators/rails/app/templates/config/environment.rb @@ -3,51 +3,7 @@ # Specifies gem version of Rails to use when vendor/rails is not present <%= '# ' if options[:freeze] %>RAILS_GEM_VERSION = '<%= Rails::VERSION::STRING %>' unless defined? RAILS_GEM_VERSION -# Bootstrap the Rails environment, frameworks, and default configuration -require File.join(File.dirname(__FILE__), 'boot') - -Rails::Initializer.run do |config| - # Settings in config/environments/* take precedence over those specified here. - # Application configuration should go into files in config/initializers - # -- all .rb files in that directory are automatically loaded. - - # Add additional load paths for your own custom dirs - # config.load_paths += %W( #{RAILS_ROOT}/extras ) - - # Specify gems that this application depends on and have them installed with rake gems:install - # config.gem "bj" - # config.gem "hpricot", :version => '0.6', :source => "http://code.whytheluckystiff.net" - # config.gem "sqlite3-ruby", :lib => "sqlite3" - # config.gem "aws-s3", :lib => "aws/s3" - - # Only load the plugins named here, in the order given (default is alphabetical). - # :all can be used as a placeholder for all plugins not explicitly named - # config.plugins = [ :exception_notification, :ssl_requirement, :all ] - - # Skip frameworks you're not going to use. To use Rails without a database, - # you must remove the Active Record framework. -<% if options[:skip_activerecord] -%> - config.frameworks -= [ :active_record ] -<% else -%> - # config.frameworks -= [ :active_record, :active_resource, :action_mailer ] - - # Activate observers that should always be running - # config.active_record.observers = :cacher, :garbage_collector, :forum_observer -<% end -%> - - # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. - # Run "rake -D time" for a list of tasks for finding time zone names. - config.time_zone = 'UTC' - - # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. - # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}')] - # config.i18n.default_locale = :de - - # Configure generators values. Many other options are available, be sure to - # check the documentation. - # config.generators do |g| - # g.orm :active_record - # g.template_engine :erb - # g.test_framework :test_unit, :fixture => true - # end -end +# Load the rails application +require File.expand_path(File.join(File.dirname(__FILE__), 'application')) +# Initialize the rails application +Rails.application.new diff --git a/railties/lib/rails/generators/rails/app/templates/script/about.tt b/railties/lib/rails/generators/rails/app/templates/script/about.tt index 1220676c08..90a320297e 100755 --- a/railties/lib/rails/generators/rails/app/templates/script/about.tt +++ b/railties/lib/rails/generators/rails/app/templates/script/about.tt @@ -1,4 +1,4 @@ <%= shebang %> -require File.expand_path('../../config/boot', __FILE__) +require File.expand_path('../../config/application', __FILE__) $LOAD_PATH.unshift "#{RAILTIES_PATH}/builtin/rails_info" require 'rails/commands/about' diff --git a/railties/lib/rails/generators/rails/app/templates/script/console.tt b/railties/lib/rails/generators/rails/app/templates/script/console.tt index 5aec193853..1cd2eb8b53 100755 --- a/railties/lib/rails/generators/rails/app/templates/script/console.tt +++ b/railties/lib/rails/generators/rails/app/templates/script/console.tt @@ -1,3 +1,3 @@ <%= shebang %> -require File.expand_path('../../config/boot', __FILE__) +require File.expand_path('../../config/application', __FILE__) require 'rails/commands/console' diff --git a/railties/lib/rails/generators/rails/app/templates/script/dbconsole.tt b/railties/lib/rails/generators/rails/app/templates/script/dbconsole.tt index 632563f470..94beb13715 100755 --- a/railties/lib/rails/generators/rails/app/templates/script/dbconsole.tt +++ b/railties/lib/rails/generators/rails/app/templates/script/dbconsole.tt @@ -1,3 +1,3 @@ <%= shebang %> -require File.expand_path('../../config/boot', __FILE__) +require File.expand_path('../../config/application', __FILE__) require 'rails/commands/dbconsole' diff --git a/railties/lib/rails/generators/rails/app/templates/script/destroy.tt b/railties/lib/rails/generators/rails/app/templates/script/destroy.tt index c5f94862c3..c97090cdee 100755 --- a/railties/lib/rails/generators/rails/app/templates/script/destroy.tt +++ b/railties/lib/rails/generators/rails/app/templates/script/destroy.tt @@ -1,3 +1,3 @@ <%= shebang %> -require File.expand_path('../../config/boot', __FILE__) +require File.expand_path('../../config/application', __FILE__) require 'rails/commands/destroy' diff --git a/railties/lib/rails/generators/rails/app/templates/script/generate.tt b/railties/lib/rails/generators/rails/app/templates/script/generate.tt index d466c94767..2a9d219531 100755 --- a/railties/lib/rails/generators/rails/app/templates/script/generate.tt +++ b/railties/lib/rails/generators/rails/app/templates/script/generate.tt @@ -1,3 +1,3 @@ <%= shebang %> -require File.expand_path('../../config/boot', __FILE__) +require File.expand_path('../../config/application', __FILE__) require 'rails/commands/generate' diff --git a/railties/lib/rails/generators/rails/app/templates/script/performance/benchmarker.tt b/railties/lib/rails/generators/rails/app/templates/script/performance/benchmarker.tt index 3e03aaa767..90aca9b4e9 100755 --- a/railties/lib/rails/generators/rails/app/templates/script/performance/benchmarker.tt +++ b/railties/lib/rails/generators/rails/app/templates/script/performance/benchmarker.tt @@ -1,3 +1,3 @@ <%= shebang %> -require File.expand_path('../../../config/boot', __FILE__) +require File.expand_path('../../../config/application', __FILE__) require 'rails/commands/performance/benchmarker' diff --git a/railties/lib/rails/generators/rails/app/templates/script/performance/profiler.tt b/railties/lib/rails/generators/rails/app/templates/script/performance/profiler.tt index deada2f561..39569b4e70 100755 --- a/railties/lib/rails/generators/rails/app/templates/script/performance/profiler.tt +++ b/railties/lib/rails/generators/rails/app/templates/script/performance/profiler.tt @@ -1,3 +1,3 @@ <%= shebang %> -require File.expand_path('../../../config/boot', __FILE__) +require File.expand_path('../../../config/application', __FILE__) require 'rails/commands/performance/profiler' diff --git a/railties/lib/rails/generators/rails/app/templates/script/plugin.tt b/railties/lib/rails/generators/rails/app/templates/script/plugin.tt index f4081f56b6..4a335ee33c 100755 --- a/railties/lib/rails/generators/rails/app/templates/script/plugin.tt +++ b/railties/lib/rails/generators/rails/app/templates/script/plugin.tt @@ -1,3 +1,3 @@ <%= shebang %> -require File.expand_path('../../config/boot', __FILE__) +require File.expand_path('../../config/application', __FILE__) require 'rails/commands/plugin' diff --git a/railties/lib/rails/generators/rails/app/templates/script/runner.tt b/railties/lib/rails/generators/rails/app/templates/script/runner.tt index 60c8c0bba1..872ec07a1e 100755 --- a/railties/lib/rails/generators/rails/app/templates/script/runner.tt +++ b/railties/lib/rails/generators/rails/app/templates/script/runner.tt @@ -1,3 +1,3 @@ <%= shebang %> -require File.expand_path('../../config/boot', __FILE__) +require File.expand_path('../../config/application', __FILE__) require 'rails/commands/runner' diff --git a/railties/lib/rails/generators/rails/app/templates/script/server.tt b/railties/lib/rails/generators/rails/app/templates/script/server.tt index 54e3346bec..932e72ea58 100755 --- a/railties/lib/rails/generators/rails/app/templates/script/server.tt +++ b/railties/lib/rails/generators/rails/app/templates/script/server.tt @@ -1,3 +1,3 @@ <%= shebang %> -require File.expand_path('../../config/boot', __FILE__) +require File.expand_path('../../config/application', __FILE__) require 'rails/commands/server' diff --git a/railties/lib/rails/initializer.rb b/railties/lib/rails/initializer.rb index f7c3774450..bb86f70da6 100644 --- a/railties/lib/rails/initializer.rb +++ b/railties/lib/rails/initializer.rb @@ -21,7 +21,6 @@ module Rails else Rails.application = Class.new(Application) yield Rails.application.config if block_given? - Rails.application.new end end end diff --git a/railties/test/abstract_unit.rb b/railties/test/abstract_unit.rb index 6c6af0b2bf..551468b3e8 100644 --- a/railties/test/abstract_unit.rb +++ b/railties/test/abstract_unit.rb @@ -16,6 +16,7 @@ require 'stringio' require 'test/unit' require 'active_support' +require 'active_support/core_ext/logger' require 'active_support/test_case' require 'action_controller' diff --git a/railties/test/application/generators_test.rb b/railties/test/application/generators_test.rb index 0edb29483d..c664b61137 100644 --- a/railties/test/application/generators_test.rb +++ b/railties/test/application/generators_test.rb @@ -41,6 +41,8 @@ module ApplicationTests c.generators.orm :datamapper c.generators.test_framework :rspec end + # Initialize the application + Rails.application.new assert_equal :rspec, Rails::Generators.options[:rails][:test_framework] assert_equal "-w", Rails::Generators.aliases[:rails][:test_framework] @@ -50,6 +52,8 @@ module ApplicationTests Rails::Initializer.run do |c| c.generators.colorize_logging = false end + # Initialize the application + Rails.application.new assert_equal Thor::Base.shell, Thor::Shell::Basic end diff --git a/railties/test/application/initializer_test.rb b/railties/test/application/initializer_test.rb index f46bf2b656..76486d8f2c 100644 --- a/railties/test/application/initializer_test.rb +++ b/railties/test/application/initializer_test.rb @@ -52,6 +52,8 @@ module ApplicationTests config.eager_load_paths = "#{app_path}/lib" end + Rails.application.new + assert Zoo end @@ -59,6 +61,7 @@ module ApplicationTests app_file "config/environments/development.rb", "$initialize_test_set_from_env = 'success'" assert_nil $initialize_test_set_from_env Rails::Initializer.run { } + Rails.application.new assert_equal "success", $initialize_test_set_from_env end @@ -67,6 +70,7 @@ module ApplicationTests Rails::Initializer.run do |config| config.frameworks = [] end + Rails.application.new end end @@ -74,6 +78,7 @@ module ApplicationTests Rails::Initializer.run do |config| config.frameworks = [:action_controller] end + Rails.application.new assert $:.include?("#{framework_path}/actionpack/lib") end @@ -82,6 +87,7 @@ module ApplicationTests Rails::Initializer.run do |config| config.frameworks = [:action_view] end + Rails.application.new assert $:.include?("#{framework_path}/actionpack/lib") end @@ -91,6 +97,7 @@ module ApplicationTests config.after_initialize { $test_after_initialize_block1 = "success" } config.after_initialize { $test_after_initialize_block2 = "congratulations" } end + Rails.application.new assert_equal "success", $test_after_initialize_block1 assert_equal "congratulations", $test_after_initialize_block2 @@ -102,6 +109,7 @@ module ApplicationTests config.after_initialize # don't pass a block, this is what we're testing! config.after_initialize { $test_after_initialize_block2 = "congratulations" } end + Rails.application.new assert_equal "success", $test_after_initialize_block1 assert_equal "congratulations", $test_after_initialize_block2 @@ -112,6 +120,8 @@ module ApplicationTests Rails::Initializer.run do |config| config.i18n.default_locale = :de end + Rails.application.new + assert_equal :de, I18n.default_locale end @@ -143,6 +153,7 @@ module ApplicationTests Rails::Initializer.run do |config| config.action_controller.session_store = :cookie_store end + Rails.application.new assert !Rails.application.config.middleware.include?(ActiveRecord::SessionStore) end @@ -158,6 +169,7 @@ module ApplicationTests Rails::Initializer.run do |c| c.action_controller.session_store = :active_record_store end + Rails.application.new expects = [ActiveRecord::ConnectionAdapters::ConnectionManagement, ActiveRecord::QueryCache, ActiveRecord::SessionStore] middleware = Rails.application.config.middleware.map { |m| m.klass } @@ -169,6 +181,7 @@ module ApplicationTests c.frameworks -= [:action_controller] c.action_controller.session_store = :active_record_store end + Rails.application.new assert !Rails.application.config.middleware.include?(ActiveRecord::SessionStore) end @@ -178,6 +191,8 @@ module ApplicationTests Rails::Initializer.run do |c| c.frameworks -= [:action_view] end + Rails.application.new + assert_equal nil, ActionMailer::Base.template_root assert_equal [], ActionController::Base.view_paths end diff --git a/railties/test/application/plugins_test.rb b/railties/test/application/plugins_test.rb index 81e7f4d88c..a4cf322139 100644 --- a/railties/test/application/plugins_test.rb +++ b/railties/test/application/plugins_test.rb @@ -18,6 +18,7 @@ module ApplicationTests test "all plugins are loaded when registered plugin list is untouched" do Rails::Initializer.run { } + Rails.application.new assert_plugins [ :a, :acts_as_chunky_bacon, :engine, :gemlike, :plugin_with_no_lib_dir, :stubby ], Rails.application.config.loaded_plugins, @failure_tip @@ -31,6 +32,7 @@ module ApplicationTests test "only the specified plugins are located in the order listed" do plugin_names = [:plugin_with_no_lib_dir, :acts_as_chunky_bacon] Rails::Initializer.run { |c| c.plugins = plugin_names } + Rails.application.new assert_plugins plugin_names, Rails.application.config.loaded_plugins end @@ -38,6 +40,7 @@ module ApplicationTests Rails::Initializer.run do |config| config.plugins = [:stubby, :all, :acts_as_chunky_bacon] end + Rails.application.new assert_plugins [:stubby, :a, :engine, :gemlike, :plugin_with_no_lib_dir, :acts_as_chunky_bacon], Rails.application.config.loaded_plugins, @failure_tip end @@ -46,6 +49,7 @@ module ApplicationTests Rails::Initializer.run do |config| config.plugins = ['stubby', 'acts_as_chunky_bacon', :a, :plugin_with_no_lib_dir] end + Rails.application.new assert_plugins plugin_names, Rails.application.config.loaded_plugins, @failure_tip end @@ -54,6 +58,7 @@ module ApplicationTests Rails::Initializer.run do |config| config.plugins = [:stubby, :acts_as_chunky_bacon, :all] end + Rails.application.new assert_plugins [:stubby, :acts_as_chunky_bacon, :a, :engine, :gemlike, :plugin_with_no_lib_dir], Rails.application.config.loaded_plugins, @failure_tip end @@ -62,16 +67,19 @@ module ApplicationTests Rails::Initializer.run do |config| config.plugins = [:stubby, :acts_as_chunky_bacon] end + Rails.application.new assert $LOAD_PATH.include?("#{app_path}/vendor/plugins/default/stubby/lib") assert $LOAD_PATH.include?("#{app_path}/vendor/plugins/default/acts/acts_as_chunky_bacon/lib") end test "registering a plugin name that does not exist raises a load error" do + Rails::Initializer.run do |config| + config.plugins = [:stubby, :acts_as_a_non_existant_plugin] + end + assert_raise(LoadError) do - Rails::Initializer.run do |config| - config.plugins = [:stubby, :acts_as_a_non_existant_plugin] - end + Rails.application.new end end @@ -83,6 +91,7 @@ module ApplicationTests Rails::Initializer.run do |config| config.plugins = [:stubby, :acts_as_chunky_bacon, :non_existant_plugin1, :non_existant_plugin2] end + Rails.application.new flunk "Expected a LoadError but did not get one" rescue LoadError => e assert_plugins valid_plugins, Rails.application.config.loaded_plugins, @failure_tip diff --git a/railties/test/generators/actions_test.rb b/railties/test/generators/actions_test.rb index f226e184d1..adc61f6d8a 100644 --- a/railties/test/generators/actions_test.rb +++ b/railties/test/generators/actions_test.rb @@ -57,7 +57,7 @@ class ActionsTest < GeneratorsTestCase def test_gem_should_put_gem_dependency_in_enviroment run_generator action :gem, 'will-paginate' - assert_file 'config/environment.rb', /config\.gem 'will\-paginate'/ + assert_file 'config/application.rb', /config\.gem 'will\-paginate'/ end def test_gem_with_options_should_include_options_in_gem_dependency_in_environment @@ -65,7 +65,7 @@ class ActionsTest < GeneratorsTestCase action :gem, 'mislav-will-paginate', :lib => 'will-paginate', :source => 'http://gems.github.com' regexp = /#{Regexp.escape("config.gem 'mislav-will-paginate', :lib => 'will-paginate', :source => 'http://gems.github.com'")}/ - assert_file 'config/environment.rb', regexp + assert_file 'config/application.rb', regexp end def test_gem_with_env_string_should_put_gem_dependency_in_specified_environment @@ -84,14 +84,14 @@ class ActionsTest < GeneratorsTestCase def test_gem_with_lib_option_set_to_false_should_put_gem_dependency_in_enviroment_correctly run_generator action :gem, 'mislav-will-paginate', :lib => false - assert_file 'config/environment.rb', /config\.gem 'mislav\-will\-paginate'\, :lib => false/ + assert_file 'config/application.rb', /config\.gem 'mislav\-will\-paginate'\, :lib => false/ end def test_environment_should_include_data_in_environment_initializer_block run_generator load_paths = 'config.load_paths += %w["#{RAILS_ROOT}/app/extras"]' action :environment, load_paths - assert_file 'config/environment.rb', /#{Regexp.escape(load_paths)}/ + assert_file 'config/application.rb', /#{Regexp.escape(load_paths)}/ end def test_environment_with_block_should_include_block_contents_in_environment_initializer_block @@ -102,7 +102,7 @@ class ActionsTest < GeneratorsTestCase '# This will be added' end - assert_file 'config/environment.rb' do |content| + assert_file 'config/application.rb' do |content| assert_match /# This will be added/, content assert_no_match /# This wont be added/, content end diff --git a/railties/test/generators/app_generator_test.rb b/railties/test/generators/app_generator_test.rb index 6e46c4ddc0..5d6a9f6de9 100644 --- a/railties/test/generators/app_generator_test.rb +++ b/railties/test/generators/app_generator_test.rb @@ -65,7 +65,7 @@ class AppGeneratorTest < GeneratorsTestCase def test_activerecord_is_removed_from_frameworks_if_skip_activerecord_is_given run_generator ["--skip-activerecord"] - assert_file "config/environment.rb", /config\.frameworks \-= \[ :active_record \]/ + assert_file "config/application.rb", /config\.frameworks \-= \[ :active_record \]/ end def test_prototype_and_test_unit_are_added_by_default diff --git a/railties/test/initializer/check_ruby_version_test.rb b/railties/test/initializer/check_ruby_version_test.rb index 1852fea4df..6c32f5635b 100644 --- a/railties/test/initializer/check_ruby_version_test.rb +++ b/railties/test/initializer/check_ruby_version_test.rb @@ -42,6 +42,7 @@ module InitializerTests set_ruby_version(version) assert_nothing_raised "It appears that rails does not boot" do Rails::Initializer.run { |c| c.frameworks = [] } + Rails.application.new end end @@ -50,6 +51,7 @@ module InitializerTests $stderr = File.open("/dev/null", "w") assert_raises(SystemExit) do Rails::Initializer.run { |c| c.frameworks = [] } + Rails.application.new end end end diff --git a/railties/test/initializer/initialize_i18n_test.rb b/railties/test/initializer/initialize_i18n_test.rb index e909688817..f952d06f94 100644 --- a/railties/test/initializer/initialize_i18n_test.rb +++ b/railties/test/initializer/initialize_i18n_test.rb @@ -14,6 +14,7 @@ module InitializerTests Rails::Initializer.run do |c| c.i18n.load_path << "my/other/locale.yml" end + Rails.application.new #{RAILS_FRAMEWORK_ROOT}/railties/test/fixtures/plugins/engines/engine/config/locales/en.yml assert_equal %W( @@ -35,6 +36,7 @@ module InitializerTests Rails::Initializer.run do |c| c.i18n.load_path << "my/other/locale.yml" end + Rails.application.new #{RAILS_FRAMEWORK_ROOT}/railties/test/fixtures/plugins/engines/engine/config/locales/en.yml assert_equal %W( diff --git a/railties/test/initializer/path_test.rb b/railties/test/initializer/path_test.rb index 72ff8d88e0..ce8fc4b8b0 100644 --- a/railties/test/initializer/path_test.rb +++ b/railties/test/initializer/path_test.rb @@ -12,6 +12,7 @@ class PathsTest < Test::Unit::TestCase ActionController::Base.session_store = nil end end + Rails.application.new @paths = Rails.application.config.paths end diff --git a/railties/test/isolation/abstract_unit.rb b/railties/test/isolation/abstract_unit.rb index 245577e8c0..5bc878b3be 100644 --- a/railties/test/isolation/abstract_unit.rb +++ b/railties/test/isolation/abstract_unit.rb @@ -94,9 +94,9 @@ module TestHelpers end def add_to_config(str) - environment = File.read("#{app_path}/config/environment.rb") + environment = File.read("#{app_path}/config/application.rb") if environment =~ /(\n\s*end\s*)\Z/ - File.open("#{app_path}/config/environment.rb", 'w') do |f| + File.open("#{app_path}/config/application.rb", 'w') do |f| f.puts $` + "\n#{str}\n" + $1 end end -- cgit v1.2.3