3 4 5 6 7 8 9 10 11 12 13 14 15
# File 'lib/d_clone/hash.rb', line 3 def d_clone {}.tap do |res| self.each do |k, v| if v.is_a?(Hash) res[k] = v.d_clone elsif v.is_a?(Array) res[k] = v.d_clone else res[k] = v end end end end