wideopenspaces/formal_wear

View on GitHub
lib/core_extensions/hash/deep_dup.rb

Summary

Maintainability
A
0 mins
Test Coverage
class Hash
  unless defined?(Hash.deep_dup)
    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
end