[Step 2] Include snippets size into project statistics
We need to include the total snippets repository size in the project storage_size
column. For that, we need first to sum all project snippets statistics repository_size
and then include it in the update_storage_size
method:
class ProjectStatistics
default_value_for :snippets_size, 0
COLUMNS_TO_REFRESH = [:repository_size, :wiki_size, :lfs_objects_size, :commit_count, :snippets_size].freeze
def update_snippets_size
self.snippets_size = project.snippets.with_statistics.sum(:repository_size) # This is some method that sums all snippet repository size
end
def update_storage_size
self.storage_size = repository_size + wiki_size.to_i + lfs_objects_size + build_artifacts_size + packages_size + snippets_size
end
end
class Snippet
scope :with_statistics, -> { joins(:statistics) }
end
Edited by Francisco Javier López (ex-Gitlab)