diff options
Diffstat (limited to 'app/models/uploads')
-rw-r--r-- | app/models/uploads/base.rb | 13 | ||||
-rw-r--r-- | app/models/uploads/fog.rb | 6 | ||||
-rw-r--r-- | app/models/uploads/local.rb | 10 |
3 files changed, 19 insertions, 10 deletions
diff --git a/app/models/uploads/base.rb b/app/models/uploads/base.rb new file mode 100644 index 00000000000..92dd94d3836 --- /dev/null +++ b/app/models/uploads/base.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Uploads + class Base + BATCH_SIZE = 100 + + attr_reader :logger + + def initialize(logger: nil) + @logger ||= Rails.logger + end + end +end diff --git a/app/models/uploads/fog.rb b/app/models/uploads/fog.rb index 041f395b097..56d41fab26a 100644 --- a/app/models/uploads/fog.rb +++ b/app/models/uploads/fog.rb @@ -1,11 +1,9 @@ # frozen_string_literal: true module Uploads - class Fog + class Fog < Base include FogStorage - BATCH_SIZE = 100 - def keys(relation) return [] unless available? @@ -14,7 +12,7 @@ module Uploads def delete_keys_async(keys_to_delete) keys_to_delete.each_slice(BATCH_SIZE) do |batch| - UploadDeleteFogWorker.perform_async(batch) + UploadDeleteWorker.perform_async(self.class, batch) end end diff --git a/app/models/uploads/local.rb b/app/models/uploads/local.rb index bc1c396347e..43512911a85 100644 --- a/app/models/uploads/local.rb +++ b/app/models/uploads/local.rb @@ -1,9 +1,7 @@ # frozen_string_literal: true module Uploads - class Local - BATCH_SIZE = 100 - + class Local < Base def keys(relation) relation.includes(:model).find_each.map {|u| u.absolute_path } end @@ -16,7 +14,7 @@ module Uploads def delete_keys_async(keys_to_delete) keys_to_delete.each_slice(BATCH_SIZE) do |batch| - UploadDeleteLocalWorker.perform_async(batch) + UploadDeleteWorker.perform_async(self.class, batch) end end @@ -24,12 +22,12 @@ module Uploads def delete_file(path) unless exists?(path) - Sidekiq.logger.warn("File '#{path}' doesn't exist, skipping") + logger.warn("File '#{path}' doesn't exist, skipping") return end unless in_uploads?(path) - Sidekiq.logger.warn("Path '#{path}' is not in uploads dir, skipping") + logger.warn("Path '#{path}' is not in uploads dir, skipping") return end |