summaryrefslogtreecommitdiff
path: root/app/models
diff options
context:
space:
mode:
Diffstat (limited to 'app/models')
-rw-r--r--app/models/ci/build_trace_chunks/fog.rb16
-rw-r--r--app/models/concerns/fog_storage.rb16
-rw-r--r--app/models/uploads/base.rb13
-rw-r--r--app/models/uploads/fog.rb6
-rw-r--r--app/models/uploads/local.rb10
5 files changed, 35 insertions, 26 deletions
diff --git a/app/models/ci/build_trace_chunks/fog.rb b/app/models/ci/build_trace_chunks/fog.rb
index 63d81a093a5..d486e8e292e 100644
--- a/app/models/ci/build_trace_chunks/fog.rb
+++ b/app/models/ci/build_trace_chunks/fog.rb
@@ -5,22 +5,6 @@ module Ci
class Fog
include FogStorage
- def data(model)
- model_key = key(model)
-
- connection.get_object(bucket_name, key_raw(model_key))[:body]
- end
-
- def set_data(model, data)
- model_key = key(model)
-
- connection.put_object(bucket_name, key_raw(model_key), data)
- end
-
- def delete_data(model)
- delete_keys([key(model)])
- end
-
def keys(relation)
return [] unless available?
diff --git a/app/models/concerns/fog_storage.rb b/app/models/concerns/fog_storage.rb
index 7a45d438a10..6277531c671 100644
--- a/app/models/concerns/fog_storage.rb
+++ b/app/models/concerns/fog_storage.rb
@@ -18,6 +18,22 @@ module FogStorage
end
end
+ def data(model)
+ model_key = key(model)
+
+ connection.get_object(bucket_name, key_raw(model_key))[:body]
+ end
+
+ def set_data(model, data)
+ model_key = key(model)
+
+ connection.put_object(bucket_name, key_raw(model_key), data)
+ end
+
+ def delete_data(model)
+ delete_keys([key(model)])
+ end
+
private
def key(model)
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