diff options
author | Kamil Trzcinski <ayufan@ayufan.eu> | 2017-11-30 13:06:43 +0300 |
---|---|---|
committer | Kamil Trzcinski <ayufan@ayufan.eu> | 2017-12-03 14:04:49 +0300 |
commit | 2045a771bfa5a1a32ff04f5bc23d58f1170b6359 (patch) | |
tree | d2fa6584e2abd8cc7865df525cf27576eef73d21 /app/models | |
parent | 2a620e7412c8a658bae9a5b7c9b55b9ac97dd58e (diff) |
Rename `job_archive|metadata` to `artifacts_archive|metadata`
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/ci/build.rb | 4 | ||||
-rw-r--r-- | app/models/concerns/artifact_migratable.rb | 16 | ||||
-rw-r--r-- | app/models/project_statistics.rb | 3 |
3 files changed, 13 insertions, 10 deletions
diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index 91747da28a1..842323e26e3 100644 --- a/app/models/ci/build.rb +++ b/app/models/ci/build.rb @@ -16,8 +16,8 @@ module Ci has_many :trace_sections, class_name: 'Ci::BuildTraceSection' has_many :job_artifacts, class_name: 'Ci::JobArtifact', foreign_key: :job_id, dependent: :destroy # rubocop:disable Cop/ActiveRecordDependent - has_one :job_archive, -> () { where(file_type: Ci::JobArtifact.file_types[:archive]) }, class_name: 'Ci::JobArtifact', foreign_key: :job_id - has_one :job_metadata, -> () { where(file_type: Ci::JobArtifact.file_types[:metadata]) }, class_name: 'Ci::JobArtifact', foreign_key: :job_id + has_one :artifacts_archive, -> () { where(file_type: Ci::JobArtifact.file_types[:archive]) }, class_name: 'Ci::JobArtifact', foreign_key: :job_id + has_one :artifacts_metadata, -> () { where(file_type: Ci::JobArtifact.file_types[:metadata]) }, class_name: 'Ci::JobArtifact', foreign_key: :job_id # The "environment" field for builds is a String, and is the unexpanded name def persisted_environment diff --git a/app/models/concerns/artifact_migratable.rb b/app/models/concerns/artifact_migratable.rb index 811a8252459..b99585a0b65 100644 --- a/app/models/concerns/artifact_migratable.rb +++ b/app/models/concerns/artifact_migratable.rb @@ -3,11 +3,11 @@ # Meant to be prepended so the interface can stay the same module ArtifactMigratable def artifacts_file - job_archive&.file || legacy_artifacts_file + artifacts_archive&.file || legacy_artifacts_file end def artifacts_metadata - job_metadata&.file || legacy_artifacts_metadata + artifacts_metadata&.file || legacy_artifacts_metadata end def artifacts? @@ -19,20 +19,20 @@ module ArtifactMigratable end def artifacts_file_changed? - job_archive&.file_changed? || attribute_changed?(:artifacts_file) + artifacts_archive&.file_changed? || attribute_changed?(:artifacts_file) end def remove_artifacts_file! - if job_archive - job_archive.destroy + if artifacts_archive + artifacts_archive.destroy else remove_legacy_artifacts_file! end end def remove_artifacts_metadata! - if job_metadata - job_metadata.destroy + if artifacts_metadata + artifacts_metadata.destroy else remove_legacy_artifacts_metadata! end @@ -40,6 +40,6 @@ module ArtifactMigratable def artifacts_size read_attribute(:artifacts_size).to_i + - job_archive&.size.to_i + job_metadata&.size.to_i + artifacts_archive&.size.to_i + artifacts_metadata&.size.to_i end end diff --git a/app/models/project_statistics.rb b/app/models/project_statistics.rb index 17b9d2cf7b4..b3d4c82583c 100644 --- a/app/models/project_statistics.rb +++ b/app/models/project_statistics.rb @@ -35,6 +35,9 @@ class ProjectStatistics < ActiveRecord::Base end def update_build_artifacts_size + # REMARK: + # We perform dual calculation as we run SQL query: sum does not instantiate AR model. + # The Ci::Build#artifacts_size returns sum of ci_builds.artifacts_size and ci_job_artifacts.file_size self.build_artifacts_size = project.builds.sum(:artifacts_size) + Ci::JobArtifact.artifacts_size_for(self) |