Sha256: 8dffa94ff6b420393d5ad2702963e706fa7d614dac5501406525e2a585774848
Contents?: true
Size: 546 Bytes
Versions: 5
Compression:
Stored size: 546 Bytes
Contents
# frozen_string_literal: true module Chamber module Refinements module DeepDup refine ::Array do def deep_dup map { |i| i.respond_to?(:deep_dup) ? i.deep_dup : i.dup } end end refine ::Object do def deep_dup dup end end refine ::Hash do def deep_dup dup.tap do |hash| each_pair do |key, value| if key.frozen? && key.is_a?(::String) hash[key] = value.deep_dup else hash.delete(key) hash[key.deep_dup] = value.deep_dup end end end end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems