diff --git a/railties/lib/generator/generators/app.rb b/railties/lib/generator/generators/app.rb index 742918768449dbb66b4ac47b5cbf285a14504294..8841485e3f3f1dfd3216545b0d88a1664e8380d8 100644 --- a/railties/lib/generator/generators/app.rb +++ b/railties/lib/generator/generators/app.rb @@ -79,8 +79,8 @@ def create_config_files end end - conditions :skip_activerecord => false def create_activerecord_files + return if options[:skip_activerecord] template "config/databases/#{options[:database]}.yml", "config/database.yml" end @@ -112,8 +112,8 @@ def create_public_files directory "public", "public", false # Non-recursive. Do small steps, so anyone can overwrite it. end - conditions :with_dispatchers => true def create_dispatch_files + return unless options[:with_dispatchers] copy_file "dispatchers/config.ru", "config.ru" template "dispatchers/dispatch.rb", "public/dispatch.rb" @@ -134,8 +134,8 @@ def create_public_stylesheets_files directory "public/stylesheets" end - conditions :skip_prototype => false def create_prototype_files + return if options[:skip_prototype] directory "public/javascripts" end @@ -144,8 +144,8 @@ def create_script_files chmod "script", 0755, false end - conditions :skip_testunit => false def create_test_files + return if options[:skip_testunit] directory "test" end @@ -169,9 +169,8 @@ def apply_rails_template raise Error, "The template [#{options[:template]}] could not be loaded. Error: #{e}" end - conditions :freeze => true - def vendorize_rails - freeze! + def freeze? + freeze! if options[:freeze] end protected diff --git a/railties/test/generator/app_test.rb b/railties/test/generator/app_test.rb index 431a4bc4f6d71cba027962b580419e6e52c92611..5329e27f9bbd3aab41835f93f5acffada7ed22fc 100644 --- a/railties/test/generator/app_test.rb +++ b/railties/test/generator/app_test.rb @@ -98,9 +98,10 @@ def test_shebang_is_added_to_files ).each { |path| assert_file "script/#{path}", /#!foo\/bar\/baz/ } end - def test_rails_is_vendorized_if_freeze_is_supplied + def test_rails_is_frozen generator(:freeze => true, :database => "sqlite3").expects(:run).with("rake rails:freeze:edge", false) silence(:stdout){ generator.invoke(:all) } + assert_file 'config/environment.rb', /# RAILS_GEM_VERSION/ end def test_template_raises_an_error_with_invalid_path