From 6abcd47fa803167b381bc68edaf34ba9fa81a707 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 21 Jan 2025 08:42:40 +0000 Subject: [PATCH 1/3] Bump rubocop-govuk from 5.0.7 to 5.0.8 Bumps [rubocop-govuk](https://github.com/alphagov/rubocop-govuk) from 5.0.7 to 5.0.8. - [Changelog](https://github.com/alphagov/rubocop-govuk/blob/main/CHANGELOG.md) - [Commits](https://github.com/alphagov/rubocop-govuk/compare/v5.0.7...v5.0.8) --- updated-dependencies: - dependency-name: rubocop-govuk dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 368e4a65..9241fbd1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -188,7 +188,7 @@ GEM csv mini_mime (>= 1.0.0) multi_xml (>= 0.5.2) - i18n (1.14.6) + i18n (1.14.7) concurrent-ruby (~> 1.0) inflection (1.0.0) io-console (0.8.0) @@ -523,7 +523,7 @@ GEM term-ansicolor (~> 1.7) thor (>= 0.20, < 2.0) parallel (1.26.3) - parser (3.3.6.0) + parser (3.3.7.0) ast (~> 2.4.1) racc parslet (2.0.0) @@ -631,7 +631,7 @@ GEM rspec-mocks (~> 3.13) rspec-support (~> 3.13) rspec-support (3.13.2) - rubocop (1.69.2) + rubocop (1.70.0) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) @@ -645,8 +645,8 @@ GEM parser (>= 3.3.1.0) rubocop-capybara (2.21.0) rubocop (~> 1.41) - rubocop-govuk (5.0.7) - rubocop (= 1.69.2) + rubocop-govuk (5.0.8) + rubocop (= 1.70.0) rubocop-ast (= 1.37.0) rubocop-capybara (= 2.21.0) rubocop-rails (= 2.28.0) @@ -705,7 +705,7 @@ GEM sync tzinfo (2.0.6) concurrent-ruby (~> 1.0) - unicode-display_width (3.1.3) + unicode-display_width (3.1.4) unicode-emoji (~> 4.0, >= 4.0.4) unicode-emoji (4.0.4) uri (0.13.1) From 7a4e2b490c25bd5f685c7385d0e78469f7e8c635 Mon Sep 17 00:00:00 2001 From: Aga Dufrat Date: Wed, 29 Jan 2025 12:38:05 +0000 Subject: [PATCH 2/3] Simplify boolean expression in problem_report.update Removed unnecessary conditional statemant in favor of directly using the result of `problem_report.update(review_attrs)`, which already returns a boolean value. This resolves the `Lint/Void` RuboCop offense. app/controllers/anonymous_feedback/problem_reports_controller.rb:78:11: W: Lint/Void: Literal true used in void context. true ^^^^ --- .../anonymous_feedback/problem_reports_controller.rb | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/app/controllers/anonymous_feedback/problem_reports_controller.rb b/app/controllers/anonymous_feedback/problem_reports_controller.rb index c2fc3ed1..ca356d46 100644 --- a/app/controllers/anonymous_feedback/problem_reports_controller.rb +++ b/app/controllers/anonymous_feedback/problem_reports_controller.rb @@ -74,11 +74,7 @@ def mark_supplied_reports_as_reviewed_and_spam review_attrs = { reviewed: true, marked_as_spam: } - if problem_report.update(review_attrs) - true - else - false - end + problem_report.update(review_attrs) end rescue ActiveRecord::RecordNotFound false From 653a8d29642879118254bce740f4d2c62637856b Mon Sep 17 00:00:00 2001 From: Aga Dufrat Date: Wed, 29 Jan 2025 13:08:50 +0000 Subject: [PATCH 3/3] Refactor to use update! Replaced update with update! to raise an exception in case of validation failure, as suggested by the Rails/SaveBang RuboCop rule. This ensures that any issues with updating the problem_report are explicitly handled by raising an exception. app/controllers/anonymous_feedback/problem_reports_controller.rb:77:24: C: [Correctable] Rails/SaveBang: Use update! instead of update if the return value is not checked. (https://rails.rubystyle.guide#save-bang) problem_report.update(review_attrs) ^^^^^^ --- .../anonymous_feedback/problem_reports_controller.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/anonymous_feedback/problem_reports_controller.rb b/app/controllers/anonymous_feedback/problem_reports_controller.rb index ca356d46..002bec03 100644 --- a/app/controllers/anonymous_feedback/problem_reports_controller.rb +++ b/app/controllers/anonymous_feedback/problem_reports_controller.rb @@ -74,9 +74,9 @@ def mark_supplied_reports_as_reviewed_and_spam review_attrs = { reviewed: true, marked_as_spam: } - problem_report.update(review_attrs) + problem_report.update!(review_attrs) end - rescue ActiveRecord::RecordNotFound + rescue ActiveRecord::RecordNotFound, ActiveRecord::RecordInvalid false end