diff options
Diffstat (limited to 'app/models/namespace.rb')
-rw-r--r-- | app/models/namespace.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/app/models/namespace.rb b/app/models/namespace.rb index a5c479bdc0c..dea34e812ca 100644 --- a/app/models/namespace.rb +++ b/app/models/namespace.rb @@ -11,6 +11,7 @@ class Namespace < ApplicationRecord include IgnorableColumn include FeatureGate include FromUnion + include Gitlab::Utils::StrongMemoize ignore_column :deleted_at @@ -267,6 +268,22 @@ class Namespace < ApplicationRecord owner.refresh_authorized_projects end + def auto_devops_enabled? + first_auto_devops_config[:status] + end + + def first_auto_devops_config + return { scope: :group, status: auto_devops_enabled } unless auto_devops_enabled.nil? + + strong_memoize(:first_auto_devops_config) do + if has_parent? + parent.first_auto_devops_config + else + { scope: :instance, status: Gitlab::CurrentSettings.auto_devops_enabled? } + end + end + end + private def path_or_parent_changed? |