Sha256: 3be10b9e4eb0b501d02c0611a21365af04a190abc6e26df4b60eb33c8754b342
Contents?: true
Size: 671 Bytes
Versions: 1
Compression:
Stored size: 671 Bytes
Contents
module A9n class Hash class << self def deep_prepare(hash, scope) hash.inject({}) do |result, (key, value)| result[(key.to_sym rescue key)] = get_value(key, value, scope) result end end def merge(*items) return nil if items.compact.empty? items.compact.inject({}){|sum, item| sum.merge!(item)} end private def get_value(key, value, scope) if value.is_a?(::Hash) deep_prepare(value, scope) elsif value.is_a?(Symbol) && value == :env ENV[scope.full_key_name(key).upcase] else value end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
a9n-0.4.6 | lib/a9n/ext/hash.rb |