diff options
Diffstat (limited to 'app/uploaders')
-rw-r--r-- | app/uploaders/avatar_uploader.rb | 4 | ||||
-rw-r--r-- | app/uploaders/namespace_file_uploader.rb | 22 | ||||
-rw-r--r-- | app/uploaders/records_uploads.rb | 6 |
3 files changed, 23 insertions, 9 deletions
diff --git a/app/uploaders/avatar_uploader.rb b/app/uploaders/avatar_uploader.rb index b29ef57b071..c0165759203 100644 --- a/app/uploaders/avatar_uploader.rb +++ b/app/uploaders/avatar_uploader.rb @@ -18,6 +18,10 @@ class AvatarUploader < GitlabUploader false end + def absolute_path + self.class.absolute_path(model.avatar.upload) + end + private def dynamic_segment diff --git a/app/uploaders/namespace_file_uploader.rb b/app/uploaders/namespace_file_uploader.rb index 52969762b7d..4965bd7f057 100644 --- a/app/uploaders/namespace_file_uploader.rb +++ b/app/uploaders/namespace_file_uploader.rb @@ -6,23 +6,27 @@ class NamespaceFileUploader < FileUploader options.storage_path end - def self.base_dir(model, _store = nil) - File.join(options.base_dir, 'namespace', model_path_segment(model)) + def self.base_dir(model, store = nil) + base_dirs(model)[store || Store::LOCAL] + end + + def self.base_dirs(model) + { + Store::LOCAL => File.join(options.base_dir, 'namespace', model_path_segment(model)), + Store::REMOTE => File.join('namespace', model_path_segment(model)) + } end def self.model_path_segment(model) File.join(model.id.to_s) end + def self.workhorse_local_upload_path + File.join(options.storage_path, 'uploads', TMP_UPLOAD_PATH) + end + # Re-Override def store_dir store_dirs[object_store] end - - def store_dirs - { - Store::LOCAL => File.join(base_dir, dynamic_segment), - Store::REMOTE => File.join('namespace', self.class.model_path_segment(model), dynamic_segment) - } - end end diff --git a/app/uploaders/records_uploads.rb b/app/uploaders/records_uploads.rb index 5795065ae11..0efca895a50 100644 --- a/app/uploaders/records_uploads.rb +++ b/app/uploaders/records_uploads.rb @@ -18,6 +18,7 @@ module RecordsUploads # `Tempfile` object the callback gets. # # Called `after :store` + # rubocop: disable CodeReuse/ActiveRecord def record_upload(_tempfile = nil) return unless model return unless file && file.exists? @@ -29,6 +30,7 @@ module RecordsUploads self.upload = build_upload.tap(&:save!) end end + # rubocop: enable CodeReuse/ActiveRecord def upload_path File.join(store_dir, filename.to_s) @@ -36,9 +38,11 @@ module RecordsUploads private + # rubocop: disable CodeReuse/ActiveRecord def uploads Upload.order(id: :desc).where(uploader: self.class.to_s) end + # rubocop: enable CodeReuse/ActiveRecord def build_upload Upload.new( @@ -53,11 +57,13 @@ module RecordsUploads # Before removing an attachment, destroy any Upload records at the same path # # Called `before :remove` + # rubocop: disable CodeReuse/ActiveRecord def destroy_upload(*args) return unless file && file.exists? self.upload = nil uploads.where(path: upload_path).delete_all end + # rubocop: enable CodeReuse/ActiveRecord end end |