Skip to content

Commit 32bc929

Browse files
authored
Merge pull request rails#52578 from etiennebarrie/app_updater_skip_brakeman
Don't add `bin/brakeman` if brakeman is not in bundle
2 parents d7f9347 + b3e7adc commit 32bc929

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

railties/lib/rails/commands/app/update_command.rb

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ def generator_options
6969
skip_action_mailbox: !defined?(ActionMailbox::Engine),
7070
skip_action_text: !defined?(ActionText::Engine),
7171
skip_action_cable: !defined?(ActionCable::Engine),
72+
skip_brakeman: skip_gem?("brakeman"),
73+
skip_rubocop: skip_gem?("rubocop"),
7274
skip_test: !defined?(Rails::TestUnitRailtie),
7375
skip_system_test: Rails.application.config.generators.system_tests.nil?,
7476
asset_pipeline: asset_pipeline,
@@ -87,6 +89,13 @@ def asset_pipeline
8789
nil
8890
end
8991
end
92+
93+
def skip_gem?(gem_name)
94+
gem gem_name
95+
false
96+
rescue LoadError
97+
true
98+
end
9099
end
91100
end
92101
end

railties/test/generators/app_generator_test.rb

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,26 @@ def test_app_update_preserves_skip_action_text
286286
end
287287
end
288288

289+
def test_app_update_preserves_skip_brakeman
290+
run_generator [ destination_root, "--skip-brakeman" ]
291+
292+
FileUtils.cd(destination_root) do
293+
assert_no_changes -> { File.exist?("bin/brakeman") } do
294+
run_app_update
295+
end
296+
end
297+
end
298+
299+
def test_app_update_preserves_skip_rubocop
300+
run_generator [ destination_root, "--skip-rubocop" ]
301+
302+
FileUtils.cd(destination_root) do
303+
assert_no_changes -> { File.exist?("bin/rubocop") } do
304+
run_app_update
305+
end
306+
end
307+
end
308+
289309
def test_app_update_preserves_skip_test
290310
run_generator [ destination_root, "--skip-test" ]
291311

0 commit comments

Comments
 (0)