diff --git a/.rubocop.yml b/.rubocop.yml index 488cd99fe..11a007c5d 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -510,6 +510,9 @@ Rails/Validation: Rails/WhereEquals: Enabled: true +Rails/WhereMissing: + Enabled: true + Rails/WhereNot: Enabled: true diff --git a/app/models/concerns/sdg/relatable.rb b/app/models/concerns/sdg/relatable.rb index 63ce917ef..56d3cd86e 100644 --- a/app/models/concerns/sdg/relatable.rb +++ b/app/models/concerns/sdg/relatable.rb @@ -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 diff --git a/app/models/poll/question/answer.rb b/app/models/poll/question/answer.rb index 57aba5609..a41f9e4a9 100644 --- a/app/models/poll/question/answer.rb +++ b/app/models/poll/question/answer.rb @@ -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)