Add and apply Rails/WhereMissing rubocop rule

So now we know where to use the `where.missing` method which was
introduced in Rails 6.1.

Note this rule didn't detect all cases where the new method can be used.
This commit is contained in:
Javi Martín
2024-03-02 01:29:45 +01:00
parent 86cf674d0c
commit d0fae3377e
3 changed files with 7 additions and 4 deletions

View File

@@ -510,6 +510,9 @@ Rails/Validation:
Rails/WhereEquals:
Enabled: true
Rails/WhereMissing:
Enabled: true
Rails/WhereNot:
Enabled: true

View File

@@ -44,7 +44,7 @@ module SDG::Relatable
end
def pending_sdg_review
left_joins(:sdg_review).merge(SDG::Review.where(id: nil))
where.missing(:sdg_review)
end
end

View File

@@ -17,9 +17,9 @@ class Poll::Question::Answer < ApplicationRecord
scope :with_content, -> { where.not(id: without_content) }
scope :without_content, -> do
where(description: "")
.left_joins(:images).where(images: { id: nil })
.left_joins(:documents).where(documents: { id: nil })
.left_joins(:videos).where(poll_question_answer_videos: { id: nil })
.where.missing(:images)
.where.missing(:documents)
.where.missing(:videos)
end
def self.order_answers(ordered_array)