Sha256: 622827094064fe786a37163883830c0a5cb62237435faac0495019f9cd1d28d2
Contents?: true
Size: 807 Bytes
Versions: 1
Compression:
Stored size: 807 Bytes
Contents
# coding: utf-8 module Confuse class Config def initialize(definition, source) @definition = definition @source = source end def respond_to?(name) @definition.defines?(name) || super end def method_missing(name, *_args) self[name] if respond_to?(name) end def [](name) namespace, key = @definition.namespace_and_key(name) lookup(namespace, key) end def lookup(namespace, key) @source[namespace, key] || @definition.default(namespace, key) end # check items have a value. Will raise Undefined error if a required item # has no value. def check @definition.namespaces.each do |(namespace, ns)| ns.items.each do |key, _| lookup(namespace, key) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
confuse-1.0.0 | lib/confuse/config.rb |