diff --git a/railties/lib/rails/generators/rails/app/app_generator.rb b/railties/lib/rails/generators/rails/app/app_generator.rb index 3d689ff37e03a936655db74abc47c4440a4b1909..a4758857f2b956b8f6bc098115f3d68c9681532f 100644 --- a/railties/lib/rails/generators/rails/app/app_generator.rb +++ b/railties/lib/rails/generators/rails/app/app_generator.rb @@ -318,7 +318,7 @@ def delete_action_cable_files_skipping_action_cable remove_file 'config/cable.yml' remove_file 'app/assets/javascripts/cable.coffee' remove_dir 'app/channels' - gsub_file 'app/views/layouts/application.html.erb', /action_cable_meta_tag/, '' + gsub_file 'app/views/layouts/application.html.erb', /action_cable_meta_tag/, '' unless options[:api] end end diff --git a/railties/test/generators/app_generator_test.rb b/railties/test/generators/app_generator_test.rb index 5b62b500e572694de215f4b98a097a92e9faf1fd..136bdd1694b4d446f4d97720515f482a11ccff4b 100644 --- a/railties/test/generators/app_generator_test.rb +++ b/railties/test/generators/app_generator_test.rb @@ -405,6 +405,18 @@ def test_generator_if_skip_action_cable_is_given end end + def test_generator_if_skip_action_cable_is_given_for_an_api_app + run_generator [destination_root, "--skip-action-cable", "--api"] + assert_file "config/application.rb", /#\s+require\s+["']action_cable\/engine["']/ + assert_no_file "config/cable.yml" + assert_no_file "app/assets/javascripts/cable.coffee" + assert_no_file "app/channels" + assert_file "Gemfile" do |content| + assert_no_match(/em-hiredis/, content) + assert_no_match(/redis/, content) + end + end + def test_action_cable_redis_gems run_generator assert_gem 'em-hiredis'