From 96093e3cf79c0e809e13b02d12e0705f7acfdf31 Mon Sep 17 00:00:00 2001 From: Jey Balachandran Date: Fri, 18 Dec 2015 22:32:06 -0500 Subject: [PATCH] Ensure Action Cable files are removed when `skip_action_cable` is set. The Action Cable generators creates four files which need to be removed if `skip_action_cable` is set. 1. `app/assets/javascripts/cable.coffee` 2. `app/channels/application_cable/channel.rb` 3. `app/channels/application_cable/connection.rb` 4. `config/redis/cable.yml` Fixes #22669. --- railties/lib/rails/generators/rails/app/app_generator.rb | 8 ++++++++ railties/test/generators/app_generator_test.rb | 3 +++ 2 files changed, 11 insertions(+) diff --git a/railties/lib/rails/generators/rails/app/app_generator.rb b/railties/lib/rails/generators/rails/app/app_generator.rb index 44bbc478d0..0819e6c01f 100644 --- a/railties/lib/rails/generators/rails/app/app_generator.rb +++ b/railties/lib/rails/generators/rails/app/app_generator.rb @@ -313,6 +313,14 @@ def delete_active_record_initializers_skipping_active_record end end + def delete_action_cable_files_skipping_action_cable + if options[:skip_action_cable] + remove_file 'config/redis/cable.yml' + remove_file 'app/assets/javascripts/cable.coffee' + remove_dir 'app/channels' + end + end + def delete_non_api_initializers_if_api_option if options[:api] remove_file 'config/initializers/session_store.rb' diff --git a/railties/test/generators/app_generator_test.rb b/railties/test/generators/app_generator_test.rb index ddbcd4c394..66997c5f5e 100644 --- a/railties/test/generators/app_generator_test.rb +++ b/railties/test/generators/app_generator_test.rb @@ -379,6 +379,9 @@ def test_generator_if_skip_sprockets_is_given def test_generator_if_skip_action_cable_is_given run_generator [destination_root, "--skip-action-cable"] assert_file "config/application.rb", /#\s+require\s+["']action_cable\/engine["']/ + assert_no_file "config/redis/cable.yml" + assert_no_file "app/assets/javascripts/cable.coffee" + assert_no_file "app/channels" end def test_inclusion_of_javascript_runtime -- GitLab