Sha256: d6bf4e3fa1378752e67d52f408b291991eb7c2e595dd4de9061966e1fd3f332a
Contents?: true
Size: 644 Bytes
Versions: 10
Compression:
Stored size: 644 Bytes
Contents
class CleanHash def self.pollute! ::Hash.class_eval do # merge but to not overwrite keys def deep_merge hash klass = ::CleanHash::DeepMerge klass[deep_clone].deep_merge klass[hash] end # true clone of the hash with 0 references to the old one def deep_clone Marshal.load(Marshal.dump(self)) end def to_ch mode=nil if mode.is_a?(Array) mode.each { |el| self[el] = nil if self[el].nil? } ::CleanHash.create_struct self else mode ||= :indifferent ::CleanHash.create mode, self end end end end end
Version data entries
10 entries across 10 versions & 1 rubygems