Welcome to mirror list, hosted at ThFree Co, Russian Federation.

root_storage_size.rb « namespace « models « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: d61917e468e308e996aa3935c9a9017fbb5b8311 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# frozen_string_literal: true

class Namespace::RootStorageSize
  def initialize(root_namespace)
    @root_namespace = root_namespace
  end

  def above_size_limit?
    return false if limit == 0

    usage_ratio > 1
  end

  def usage_ratio
    return 0 if limit == 0

    current_size.to_f / limit.to_f
  end

  def current_size
    @current_size ||= root_namespace.root_storage_statistics&.storage_size
  end

  def limit
    @limit ||= Gitlab::CurrentSettings.namespace_storage_size_limit.megabytes
  end

  private

  attr_reader :root_namespace
end