Sha256: 60675e13fc2ac62708546356c40fee7a4370ad54fd4aee4d18d14cbaba78592e
Contents?: true
Size: 975 Bytes
Versions: 1
Compression:
Stored size: 975 Bytes
Contents
require 'hiera' require 'active_support' require 'active_support/core_ext/hash/keys' module Confidante class Configuration def initialize(opts) options = { overrides: {}, scope: {}, }.merge(opts.to_options) unless options[:hiera] options[:hiera] = Hiera.new(config: 'config/hiera.yaml') end @overrides = options[:overrides] @scope = options[:scope] @hiera = options[:hiera] end def for_overrides(overrides) Configuration.new( overrides: overrides, scope: @scope, hiera: @hiera) end def for_scope(scope) Configuration.new( overrides: @overrides, scope: scope, hiera: @hiera) end def method_missing(method, *args, &block) @hiera.lookup( method.to_s, nil, {cwd: Dir.pwd} .merge(@scope) .merge({overrides: @overrides})) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
confidante-0.2.0 | lib/confidante/configuration.rb |