From 32d437238191c94534c2010e640c2b5711fa3d0d Mon Sep 17 00:00:00 2001
From: Eugen Rochko <eugen@zeonfederated.com>
Date: Mon, 21 May 2018 16:01:16 +0200
Subject: [PATCH] Use #any? instead of #exists? when checking media attachments
 (#7570)

If media_attachments are not loaded, SQL query is the same, but
the #exists? method performs SQL query even if preloaded
---
 app/services/batched_remove_status_service.rb | 2 +-
 app/services/fan_out_on_write_service.rb      | 2 +-
 app/services/remove_status_service.rb         | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/app/services/batched_remove_status_service.rb b/app/services/batched_remove_status_service.rb
index 425a11d012..ace51a1fcc 100644
--- a/app/services/batched_remove_status_service.rb
+++ b/app/services/batched_remove_status_service.rb
@@ -81,7 +81,7 @@ class BatchedRemoveStatusService < BaseService
       redis.publish('timeline:public', payload)
       redis.publish('timeline:public:local', payload) if status.local?
 
-      if status.media_attachments.exists?
+      if status.media_attachments.any?
         redis.publish('timeline:public:media', payload)
         redis.publish('timeline:public:local:media', payload) if status.local?
       end
diff --git a/app/services/fan_out_on_write_service.rb b/app/services/fan_out_on_write_service.rb
index b4b9986f3b..8b36302299 100644
--- a/app/services/fan_out_on_write_service.rb
+++ b/app/services/fan_out_on_write_service.rb
@@ -25,7 +25,7 @@ class FanOutOnWriteService < BaseService
     return if status.reply? && status.in_reply_to_account_id != status.account_id
 
     deliver_to_public(status)
-    deliver_to_media(status) if status.media_attachments.exists?
+    deliver_to_media(status) if status.media_attachments.any?
   end
 
   private
diff --git a/app/services/remove_status_service.rb b/app/services/remove_status_service.rb
index 53f2be6f86..8c3e184442 100644
--- a/app/services/remove_status_service.rb
+++ b/app/services/remove_status_service.rb
@@ -20,7 +20,7 @@ class RemoveStatusService < BaseService
     remove_reblogs
     remove_from_hashtags
     remove_from_public
-    remove_from_media if status.media_attachments.exists?
+    remove_from_media if status.media_attachments.any?
     remove_from_direct if status.direct_visibility?
 
     @status.destroy!
-- 
GitLab