Class: Unifig::Config
- Inherits:
-
Object
- Object
- Unifig::Config
- Defined in:
- lib/unifig/config.rb
Instance Method Summary collapse
-
#initialize(config, env: nil) ⇒ Config
constructor
A new instance of Config.
- #provider_config(name) ⇒ Object
- #providers ⇒ Object
Constructor Details
#initialize(config, env: nil) ⇒ Config
Returns a new instance of Config.
7 8 9 10 11 12 13 14 |
# File 'lib/unifig/config.rb', line 7 def initialize(config, env: nil) raise MissingConfigError, 'no configuration provided' unless config @env_config = config.slice(:providers) @env = env @env_config.merge!(config.dig(:envs, env) || {}) if @env end |
Instance Method Details
#provider_config(name) ⇒ Object
29 30 31 32 33 |
# File 'lib/unifig/config.rb', line 29 def provider_config(name) return {} unless @env_config[:providers].is_a?(Hash) @env_config.dig(:providers, :config, name) || {} end |
#providers ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/unifig/config.rb', line 16 def providers return @providers if defined?(@providers) providers = if @env_config[:providers].is_a?(Hash) @env_config.dig(:providers, :list) else @env_config[:providers] end @providers = Array(providers).map(&:to_sym).freeze end |