diff options
author | Peter Marko <peter.marko@siemens.com> | 2019-02-13 23:38:11 +0100 |
---|---|---|
committer | Peter Marko <peter.marko@siemens.com> | 2019-05-29 16:08:25 +0200 |
commit | 40490cc4922fedbf4512109429cdc2c5aed65ded (patch) | |
tree | bb2be4aa53b223c2031c3accd4b5398ab90b7598 /app/models/project_statistics.rb | |
parent | 106f449d6938280452c52e1ee86461e5ceed685e (diff) | |
download | gitlab-ce-40490cc4922fedbf4512109429cdc2c5aed65ded.tar.gz |
Add wiki size to project statistics
Diffstat (limited to 'app/models/project_statistics.rb')
-rw-r--r-- | app/models/project_statistics.rb | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/app/models/project_statistics.rb b/app/models/project_statistics.rb index 6fe8cb40d25..832c8417b5b 100644 --- a/app/models/project_statistics.rb +++ b/app/models/project_statistics.rb @@ -4,9 +4,16 @@ class ProjectStatistics < ApplicationRecord belongs_to :project belongs_to :namespace + default_value_for :wiki_size, 0 + + # older migrations fail due to non-existent attribute without this + def wiki_size + has_attribute?(:wiki_size) ? super : 0 + end + before_save :update_storage_size - COLUMNS_TO_REFRESH = [:repository_size, :lfs_objects_size, :commit_count].freeze + COLUMNS_TO_REFRESH = [:repository_size, :wiki_size, :lfs_objects_size, :commit_count].freeze INCREMENTABLE_COLUMNS = { build_artifacts_size: %i[storage_size], packages_size: %i[storage_size] }.freeze def total_repository_size @@ -27,11 +34,14 @@ class ProjectStatistics < ApplicationRecord self.commit_count = project.repository.commit_count end - # Repository#size needs to be converted from MB to Byte. def update_repository_size self.repository_size = project.repository.size * 1.megabyte end + def update_wiki_size + self.wiki_size = project.wiki.repository.size * 1.megabyte + end + def update_lfs_objects_size self.lfs_objects_size = project.lfs_objects.sum(:size) end @@ -42,7 +52,7 @@ class ProjectStatistics < ApplicationRecord end def update_storage_size - self.storage_size = repository_size + lfs_objects_size + build_artifacts_size + packages_size + self.storage_size = repository_size + wiki_size + lfs_objects_size + build_artifacts_size + packages_size end # Since this incremental update method does not call update_storage_size above, |