diff options
Diffstat (limited to 'railties')
-rw-r--r-- | railties/lib/rails/generators/rails/app/app_generator.rb | 5 | ||||
-rw-r--r-- | railties/test/generators/app_generator_test.rb | 17 |
2 files changed, 21 insertions, 1 deletions
diff --git a/railties/lib/rails/generators/rails/app/app_generator.rb b/railties/lib/rails/generators/rails/app/app_generator.rb index 947ab82d00..ffdfb32aba 100644 --- a/railties/lib/rails/generators/rails/app/app_generator.rb +++ b/railties/lib/rails/generators/rails/app/app_generator.rb @@ -159,6 +159,10 @@ module Rails if !options[:skip_active_record] && !DATABASES.include?(options[:database]) raise Error, "Invalid value for --database option. Supported for preconfiguration are: #{DATABASES.join(", ")}." end + + # Force sprockets to be skipped when generating http only app. + # Can't modify options hash as it's frozen by default. + self.options = options.merge(:skip_sprockets => true).freeze if options.http? end public_task :create_root @@ -173,6 +177,7 @@ module Rails def create_app_files build(:app) + remove_file("app/views") if options.http? end def create_config_files diff --git a/railties/test/generators/app_generator_test.rb b/railties/test/generators/app_generator_test.rb index 6f1d56701c..363155bc55 100644 --- a/railties/test/generators/app_generator_test.rb +++ b/railties/test/generators/app_generator_test.rb @@ -378,6 +378,22 @@ class AppGeneratorTest < Rails::Generators::TestCase assert_file "app/controllers/application_controller.rb", /^ # protect_from_forgery/ end + def test_http_does_not_generate_app_views_dir + run_generator [destination_root, "--http"] + assert_no_directory "app/views" + end + + def test_http_skip_sprockets_entries_in_gemfile_and_application + run_generator [destination_root, "--http"] + assert_file "Gemfile" do |content| + assert_no_match(/group :assets/, content) + end + assert_file "config/application.rb" do |content| + assert_match(/^# require "sprockets/, content) + assert_no_match(/config\.assets/, content) + end + end + def test_pretend_option output = run_generator [File.join(destination_root, "myapp"), "--pretend"] assert_no_match(/run bundle install/, output) @@ -388,7 +404,6 @@ protected def action(*args, &block) silence(:stdout) { generator.send(*args, &block) } end - end class CustomAppGeneratorTest < Rails::Generators::TestCase |