Sha256: f7dbb09bfe6a4500c4943aa602bb8d646ae4ccc3c154445a9e0ecadd055591e9
Contents?: true
Size: 394 Bytes
Versions: 117
Compression:
Stored size: 394 Bytes
Contents
class Hash # Returns a deep copy of hash. # # hash = { :a => { :b => 'b' } } # dup = hash.deep_dup # dup[:a][:c] = 'c' # # hash[:a][:c] #=> nil # dup[:a][:c] #=> "c" def deep_dup duplicate = self.dup duplicate.each_pair do |k,v| tv = duplicate[k] duplicate[k] = tv.is_a?(Hash) && v.is_a?(Hash) ? tv.deep_dup : v end duplicate end end
Version data entries
117 entries across 89 versions & 22 rubygems