From e42a48d63e2ac0e4379ea6d9ea13c65e23274715 Mon Sep 17 00:00:00 2001
From: Archish Thakkar <archishthakkar@gmail.com>
Date: Wed, 29 May 2024 21:06:46 +0000
Subject: [PATCH] Fix Lint/AmbiguousOperatorPrecedence 4 offenses

Changelog: other
EE: true
---
 .rubocop_todo/lint/ambiguous_operator_precedence.yml    | 9 ---------
 danger/roulette/Dangerfile                              | 2 +-
 ee/app/models/geo/upload_registry.rb                    | 2 +-
 ee/app/models/iterations/cadence.rb                     | 2 +-
 ee/app/models/license.rb                                | 6 +++---
 ee/app/policies/ee/issuable_policy.rb                   | 2 +-
 ee/app/services/boards/epics/position_create_service.rb | 2 +-
 ee/app/services/vulnerabilities/create_service.rb       | 2 +-
 ee/lib/gitlab/expiring_subscription_message.rb          | 2 +-
 9 files changed, 10 insertions(+), 19 deletions(-)

diff --git a/.rubocop_todo/lint/ambiguous_operator_precedence.yml b/.rubocop_todo/lint/ambiguous_operator_precedence.yml
index 9bfe179acc1f2..b8a9bf1a31c7b 100644
--- a/.rubocop_todo/lint/ambiguous_operator_precedence.yml
+++ b/.rubocop_todo/lint/ambiguous_operator_precedence.yml
@@ -12,15 +12,6 @@ Lint/AmbiguousOperatorPrecedence:
     - 'config/initializers/1_settings.rb'
     - 'config/initializers/carrierwave_s3_encryption_headers_patch.rb'
     - 'config/initializers/kaminari_active_record_relation_methods_with_limit.rb'
-    - 'danger/roulette/Dangerfile'
-    - 'ee/app/models/geo/upload_registry.rb'
-    - 'ee/app/models/iterations/cadence.rb'
-    - 'ee/app/models/license.rb'
-    - 'ee/app/policies/ee/issuable_policy.rb'
-    - 'ee/app/services/boards/epics/position_create_service.rb'
-    - 'ee/app/services/geo/registry_consistency_service.rb'
-    - 'ee/app/services/vulnerabilities/create_service.rb'
-    - 'ee/lib/gitlab/expiring_subscription_message.rb'
     - 'spec/lib/gitlab/conan_token_spec.rb'
     - 'spec/lib/gitlab/database/background_migration/batched_job_spec.rb'
     - 'spec/lib/gitlab/database/batch_count_spec.rb'
diff --git a/danger/roulette/Dangerfile b/danger/roulette/Dangerfile
index c7964b46b6df6..6616929626dd1 100644
--- a/danger/roulette/Dangerfile
+++ b/danger/roulette/Dangerfile
@@ -62,7 +62,7 @@ def note_for_spin_role(spin, role, category)
       spin.public_send(role)&.markdown_name(author: roulette.team_mr_author) # rubocop:disable GitlabSecurity/PublicSend
     end
 
-  note || template % { role: role }
+  note || (template % { role: role })
 end
 
 def markdown_row_for_spin(category, spin)
diff --git a/ee/app/models/geo/upload_registry.rb b/ee/app/models/geo/upload_registry.rb
index 2a715b1919315..9d0c9d25b4441 100644
--- a/ee/app/models/geo/upload_registry.rb
+++ b/ee/app/models/geo/upload_registry.rb
@@ -42,7 +42,7 @@ def self.with_status(status)
   end
 
   def file
-    upload&.path || s_('Removed upload with id %{id}') % { id: file_id }
+    upload&.path || (s_('Removed upload with id %{id}') % { id: file_id })
   end
 
   def project
diff --git a/ee/app/models/iterations/cadence.rb b/ee/app/models/iterations/cadence.rb
index 4747b09161edf..d85e5ea1caf7f 100644
--- a/ee/app/models/iterations/cadence.rb
+++ b/ee/app/models/iterations/cadence.rb
@@ -182,7 +182,7 @@ def next_open_iteration_start_date
 
         if open_due_date < Date.current
           intermediate_iterations = ((Date.current - open_start_date) / duration_in_days).floor
-          hypothetical_last_due_date = open_start_date + intermediate_iterations * duration_in_days - 1
+          hypothetical_last_due_date = open_start_date + (intermediate_iterations * duration_in_days) - 1
 
           open_start_date = hypothetical_last_due_date.next_occurring(start_weekday)
         end
diff --git a/ee/app/models/license.rb b/ee/app/models/license.rb
index 88d5999614e9a..38ee5bc5ad937 100644
--- a/ee/app/models/license.rb
+++ b/ee/app/models/license.rb
@@ -496,12 +496,12 @@ def prior_historical_max
 
   # See comment for `prior_historical_max`.
   def previous_started_at
-    (License.current&.starts_at || starts_at - 1.year).beginning_of_day
+    (License.current&.starts_at || (starts_at - 1.year)).beginning_of_day
   end
 
   # See comment for `prior_historical_max`.
   def previous_expired_at
-    (License.current&.expires_at || expires_at && expires_at - 1.year || starts_at).end_of_day
+    (License.current&.expires_at || (expires_at && (expires_at - 1.year)) || starts_at).end_of_day
   end
 
   def restricted_user_count_with_threshold
@@ -591,7 +591,7 @@ def not_expired
   end
 
   def starts_at_for_historical_data
-    (starts_at || Time.current - 1.year).beginning_of_day
+    (starts_at || (Time.current - 1.year)).beginning_of_day
   end
 
   def expires_at_for_historical_data
diff --git a/ee/app/policies/ee/issuable_policy.rb b/ee/app/policies/ee/issuable_policy.rb
index ecf9b9b1e2827..a83366ec27469 100644
--- a/ee/app/policies/ee/issuable_policy.rb
+++ b/ee/app/policies/ee/issuable_policy.rb
@@ -22,7 +22,7 @@ module IssuablePolicy
         enable :upload_issuable_metric_image
       end
 
-      rule { is_author | can?(:create_issue) & can?(:update_issue) }.policy do
+      rule { is_author | (can?(:create_issue) & can?(:update_issue)) }.policy do
         enable :update_issuable_metric_image
         enable :destroy_issuable_metric_image
       end
diff --git a/ee/app/services/boards/epics/position_create_service.rb b/ee/app/services/boards/epics/position_create_service.rb
index f87ba23c9f587..c936794dee3ea 100644
--- a/ee/app/services/boards/epics/position_create_service.rb
+++ b/ee/app/services/boards/epics/position_create_service.rb
@@ -15,7 +15,7 @@ def execute
           Boards::EpicBoardPosition.new(
             epic_id: list_epic.id,
             epic_board_id: board_id,
-            relative_position: start_position + Boards::EpicBoardPosition::IDEAL_DISTANCE * index,
+            relative_position: start_position + (Boards::EpicBoardPosition::IDEAL_DISTANCE * index),
             created_at: time,
             updated_at: time
           )
diff --git a/ee/app/services/vulnerabilities/create_service.rb b/ee/app/services/vulnerabilities/create_service.rb
index a678920a2511c..3da77f0b3e1ff 100644
--- a/ee/app/services/vulnerabilities/create_service.rb
+++ b/ee/app/services/vulnerabilities/create_service.rb
@@ -63,7 +63,7 @@ def save_vulnerability(vulnerability, finding)
         finding_id: finding.id
       )
 
-      vulnerability.save && vulnerability.findings << finding
+      vulnerability.save && (vulnerability.findings << finding)
       create_state_transition_if_needed(vulnerability, from_state) if @state
     end
 
diff --git a/ee/lib/gitlab/expiring_subscription_message.rb b/ee/lib/gitlab/expiring_subscription_message.rb
index 05fc6b3015870..f0230b2996c9d 100644
--- a/ee/lib/gitlab/expiring_subscription_message.rb
+++ b/ee/lib/gitlab/expiring_subscription_message.rb
@@ -117,7 +117,7 @@ def expiring_message
     def namespace_expiring_message
       message = []
 
-      message << _('Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}.') % { expires_on: subscribable.expires_at.iso8601, plan_name: plan_name, strong: strong, strong_close: strong_close, namespace_name: namespace.name }
+      message << (_('Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}.') % { expires_on: subscribable.expires_at.iso8601, plan_name: plan_name, strong: strong, strong_close: strong_close, namespace_name: namespace.name })
 
       message << expiring_features_message
 
-- 
GitLab