instance method
deep_dup
Ruby on Rails 3.2.22.5
Since v3.1.12Signature
deep_dup()
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"
Source
# File activesupport/lib/active_support/core_ext/hash/deep_dup.rb, line 10
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
Defined in activesupport/lib/active_support/core_ext/hash/deep_dup.rb line 10
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in Hash