Sha256: e0c066d731f9f7513e4d4b1949f1fd87a4c5266242c6f9229afbfd64ed1cd526
Contents?: true
Size: 630 Bytes
Versions: 3
Compression:
Stored size: 630 Bytes
Contents
module A9n class HashExt class << self def deep_prepare(hash) hash.inject({}) do |result, (key, value)| result[(key.to_sym rescue key)] = get_value(key, value) 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) if value.is_a?(::Hash) deep_prepare(value) elsif value.is_a?(Symbol) && value == :env ENV[key.to_s.upcase] else value end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
a9n-0.4.5 | lib/a9n/ext/hash.rb |
a9n-0.4.4 | lib/a9n/ext/hash.rb |
a9n-0.4.3 | lib/a9n/ext/hash.rb |