diff options
Diffstat (limited to 'app/models/ci/pipeline_artifact.rb')
-rw-r--r-- | app/models/ci/pipeline_artifact.rb | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/app/models/ci/pipeline_artifact.rb b/app/models/ci/pipeline_artifact.rb index 92e567ef4be..79407c66242 100644 --- a/app/models/ci/pipeline_artifact.rb +++ b/app/models/ci/pipeline_artifact.rb @@ -22,8 +22,22 @@ module Ci validates :size, presence: true, numericality: { less_than_or_equal_to: FILE_SIZE_LIMIT } validates :file_type, presence: true + mount_uploader :file, Ci::PipelineArtifactUploader + before_save :set_size, if: :file_changed? + after_save :update_file_store, if: :saved_change_to_file? + enum file_type: { code_coverage: 1 } + + def set_size + self.size = file.size + end + + def update_file_store + # The file.object_store is set during `uploader.store!` + # which happens after object is inserted/updated + self.update_column(:file_store, file.object_store) + end end end |