summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlessio Caiazza <acaiazza@gitlab.com>2019-04-15 18:09:31 +0200
committerStan Hu <stanhu@gmail.com>2019-05-02 21:30:43 -0700
commit174f45980bde366eb3cbda0862e037e64a2846a6 (patch)
tree3a571380215fb3e4348a7040f37569a973505041
parentcb72d9efd2db30cd2df1d3bad445ffb00e5b3c0f (diff)
downloadgitlab-ce-174f45980bde366eb3cbda0862e037e64a2846a6.tar.gz
Track package_file size
-rw-r--r--ee/app/models/packages/package_file.rb5
-rw-r--r--ee/changelogs/unreleased/ac-package-storage-stats-ee.yml5
-rw-r--r--ee/spec/models/packages/package_file_spec.rb4
3 files changed, 14 insertions, 0 deletions
diff --git a/ee/app/models/packages/package_file.rb b/ee/app/models/packages/package_file.rb
index 74d5aad236d..299bb424a88 100644
--- a/ee/app/models/packages/package_file.rb
+++ b/ee/app/models/packages/package_file.rb
@@ -1,5 +1,10 @@
# frozen_string_literal: true
class Packages::PackageFile < ApplicationRecord
+ include UpdateProjectStatistics
+
+ delegate :project, :project_id, to: :package
+ update_project_statistics stat: :packages_size
+
belongs_to :package
validates :package, presence: true
diff --git a/ee/changelogs/unreleased/ac-package-storage-stats-ee.yml b/ee/changelogs/unreleased/ac-package-storage-stats-ee.yml
new file mode 100644
index 00000000000..c91c965543b
--- /dev/null
+++ b/ee/changelogs/unreleased/ac-package-storage-stats-ee.yml
@@ -0,0 +1,5 @@
+---
+title: Keep track of packages_file in ProjectStatistics
+merge_request: 11020
+author:
+type: added
diff --git a/ee/spec/models/packages/package_file_spec.rb b/ee/spec/models/packages/package_file_spec.rb
index a3167ef0b5e..79876338090 100644
--- a/ee/spec/models/packages/package_file_spec.rb
+++ b/ee/spec/models/packages/package_file_spec.rb
@@ -9,4 +9,8 @@ RSpec.describe Packages::PackageFile, type: :model do
describe 'validations' do
it { is_expected.to validate_presence_of(:package) }
end
+
+ it_behaves_like 'UpdateProjectStatistics' do
+ subject { build(:package_file, :jar, size: 42) }
+ end
end