diff --git a/railties/lib/commands/destroy.rb b/railties/lib/commands/destroy.rb index 6e740bb754db114209db1fba5a1bcd90427e6daf..5013d30b832ff7e5fd883c3e637ed431165cf948 100644 --- a/railties/lib/commands/destroy.rb +++ b/railties/lib/commands/destroy.rb @@ -1,4 +1,4 @@ -RAILS_ENV.replace "generators" +require File.expand_path(File.join(File.dirname(__FILE__), '..', 'generators')) require "#{RAILS_ROOT}/config/environment" if ARGV.size == 0 diff --git a/railties/lib/commands/generate.rb b/railties/lib/commands/generate.rb index 5408e78157af097dee0d40f02c83f1918684dc21..32cabcab1007cab17ee1d966481e6f9c2739f026 100755 --- a/railties/lib/commands/generate.rb +++ b/railties/lib/commands/generate.rb @@ -1,4 +1,4 @@ -RAILS_ENV.replace "generators" +require File.expand_path(File.join(File.dirname(__FILE__), '..', 'generators')) require "#{RAILS_ROOT}/config/environment" if ARGV.size == 0 diff --git a/railties/lib/commands/update.rb b/railties/lib/commands/update.rb index 5ce1068e1a971721f3df3006b818e26583ab9955..f3b3ad07757cacfbef573bad4187f2f46304d49f 100644 --- a/railties/lib/commands/update.rb +++ b/railties/lib/commands/update.rb @@ -1,4 +1,4 @@ -RAILS_ENV.replace "generators" +require File.expand_path(File.join(File.dirname(__FILE__), '..', 'generators')) require "#{RAILS_ROOT}/config/environment" if ARGV.size == 0 diff --git a/railties/lib/generators/rails/app/templates/config/environment.rb b/railties/lib/generators/rails/app/templates/config/environment.rb index 84c5abf1e9c43d5f0e9a430c3a48dcb1f52e2fdd..02fbb57b8718ed546d911d47d77738329923668f 100644 --- a/railties/lib/generators/rails/app/templates/config/environment.rb +++ b/railties/lib/generators/rails/app/templates/config/environment.rb @@ -42,4 +42,23 @@ # 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 default options. + config.generators do |g| + # Scaffold configuration + g.helper = true + g.layout = true + g.stylesheets = true + + # ORM configuration + g.orm = :active_record + g.timestamps = true + + # Template engine configuration + g.template_engine = :erb + + # Test framework configuration + g.test_framework = :test_unit + g.fixtures = true + end end diff --git a/railties/lib/generators/rails/app/templates/config/environments/generators.rb b/railties/lib/generators/rails/app/templates/config/environments/generators.rb deleted file mode 100644 index 1b426f5a05923e5ac7a8265cdd0fb46685d0374f..0000000000000000000000000000000000000000 --- a/railties/lib/generators/rails/app/templates/config/environments/generators.rb +++ /dev/null @@ -1,18 +0,0 @@ -# Settings specified here will take precedence over those in config/environment.rb - -# No need to reload in generators environment, so do cache classes. -config.cache_classes = true - -# Log error messages when you accidentally call methods on nil. -config.whiny_nils = true - -# Configure generators options (below are default values, delete them if you want). -config.generators do |g| - g.helper = true - g.layout = true - g.orm = :active_record - g.stylesheets = true - g.template_engine = :erb - g.test_framework = :test_unit - g.timestamps = true -end diff --git a/railties/lib/initializer.rb b/railties/lib/initializer.rb index be65950a5ba52da31ccfce6e331ca7924066db9b..d0ef9d0c2f15252ee9e4eb1adc584eb9c36d8d86 100644 --- a/railties/lib/initializer.rb +++ b/railties/lib/initializer.rb @@ -569,10 +569,9 @@ def self.run(initializer = nil, config = nil) end end - # Load generators if RAILS_ENV == "generators" + # Configure generators if they were already loaded Initializer.default.add :initialize_generators do - if RAILS_ENV == "generators" - require "generators" + if defined?(Rails::Generators) Rails::Generators.no_color! unless config.generators.colorize_logging Rails::Generators.aliases.merge! config.generators.aliases Rails::Generators.options.merge! config.generators.options diff --git a/railties/test/initializer_test.rb b/railties/test/initializer_test.rb index 240bf31ab0cefd3921fbc8ace6f1ed14a6a5dcad..163785fee3660ef38cc82ca4a749bcb54a328cd4 100644 --- a/railties/test/initializer_test.rb +++ b/railties/test/initializer_test.rb @@ -293,7 +293,6 @@ def load_plugins! class InitializerGeneratorsTests < Test::Unit::TestCase def setup - @old_env_value = RAILS_ENV.dup @configuration = Rails::Configuration.new @initializer = Rails::Initializer.default @initializer.config = @configuration @@ -349,16 +348,9 @@ def test_generators_raise_no_method_error_non_setters end end - def test_generators_are_not_invoked_with_other_environments - @configuration.generators.test_framework = :rspec - @initializer.run(:initialize_generators) - assert_equal :test_unit, Rails::Generators.options[:test_framework] - end - protected def teardown - RAILS_ENV.replace @old_env_value Rails::Generators.clear_aliases! Rails::Generators.clear_options! end