From bcb8b3fab9026bcc0cdda4321e5fa1e70f6638b4 Mon Sep 17 00:00:00 2001 From: Gerhard Schlager Date: Sat, 13 Jan 2024 22:31:41 +0100 Subject: [PATCH] REFACTOR: Reuse `Discourse.store` instance Calling `Discourse.store` creates a new instance of a store each time. --- app/models/optimized_image.rb | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/models/optimized_image.rb b/app/models/optimized_image.rb index 2041a1669b8..9eae6c2bf40 100644 --- a/app/models/optimized_image.rb +++ b/app/models/optimized_image.rb @@ -50,12 +50,14 @@ class OptimizedImage < ActiveRecord::Base return thumbnail if thumbnail + store = Discourse.store + # create the thumbnail otherwise - original_path = Discourse.store.path_for(upload) + original_path = store.path_for(upload) if original_path.blank? # download is protected with a DistributedMutex - external_copy = Discourse.store.download_safe(upload) + external_copy = store.download_safe(upload) original_path = external_copy&.path end @@ -106,8 +108,7 @@ class OptimizedImage < ActiveRecord::Base # store the optimized image and update its url File.open(temp_path) do |file| - url = - Discourse.store.store_optimized_image(file, thumbnail, nil, secure: upload.secure?) + url = store.store_optimized_image(file, thumbnail, nil, secure: upload.secure?) if url.present? thumbnail.url = url thumbnail.save @@ -124,7 +125,7 @@ class OptimizedImage < ActiveRecord::Base end # make sure we remove the cached copy from external stores - external_copy&.close if Discourse.store.external? + external_copy&.close if store.external? thumbnail end