mirror of
https://gitlab.com/gitlab-org/gitlab-foss.git
synced 2025-08-01 16:04:19 +00:00
58 lines
1.1 KiB
Ruby
58 lines
1.1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module Gitlab
|
|
module Backup
|
|
module Cli
|
|
class GitlabConfig
|
|
extend Forwardable
|
|
|
|
def_delegators :@config,
|
|
:count,
|
|
:deep_stringify_keys,
|
|
:deep_symbolize_keys,
|
|
:default_proc,
|
|
:dig,
|
|
:each_key,
|
|
:each_pair,
|
|
:each_value,
|
|
:each,
|
|
:empty?,
|
|
:fetch_values,
|
|
:fetch,
|
|
:filter,
|
|
:keys,
|
|
:length,
|
|
:map,
|
|
:member?,
|
|
:merge,
|
|
:reject,
|
|
:select,
|
|
:size,
|
|
:slice,
|
|
:stringify_keys,
|
|
:symbolize_keys,
|
|
:transform_keys,
|
|
:transform_values,
|
|
:value?,
|
|
:values_at,
|
|
:values,
|
|
:[]
|
|
|
|
def initialize(source)
|
|
@source = source
|
|
@config = nil
|
|
|
|
load!
|
|
end
|
|
|
|
def load!
|
|
yaml = ActiveSupport::ConfigurationFile.parse(@source)
|
|
all_configs = yaml.deep_stringify_keys
|
|
|
|
@config = all_configs
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|