Sha256: 8d268dc2a314af64dcc0d08c2dfcb7da875ee9a517d4b934544d7eb9da69496a

Contents?: true

Size: 336 Bytes

Versions: 18

Compression:

Stored size: 336 Bytes

Contents

module Gorillib
  module Hashlike
    module DeepDup
      # Returns a deep copy of hash.
      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
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
gorillib-0.6.0 lib/gorillib/hashlike/deep_dup.rb
gorillib-0.5.2 lib/gorillib/hashlike/deep_dup.rb
gorillib-0.5.0 lib/gorillib/hashlike/deep_dup.rb
gorillib-0.4.2 lib/gorillib/hashlike/deep_dup.rb
gorillib-0.4.2pre lib/gorillib/hashlike/deep_dup.rb
gorillib-0.4.0pre lib/gorillib/hashlike/deep_dup.rb
gorillib-0.4.1pre lib/gorillib/hashlike/deep_dup.rb
gorillib-0.1.11 lib/gorillib/hashlike/deep_dup.rb
gorillib-0.1.9 lib/gorillib/hashlike/deep_dup.rb
gorillib-0.1.8 lib/gorillib/hashlike/deep_dup.rb
gorillib-0.1.7 lib/gorillib/hashlike/deep_dup.rb
gorillib-0.1.6 lib/gorillib/hashlike/deep_dup.rb
gorillib-0.1.5 lib/gorillib/hashlike/deep_dup.rb
gorillib-0.1.4 lib/gorillib/hashlike/deep_dup.rb
gorillib-0.1.3 lib/gorillib/hashlike/deep_dup.rb
gorillib-0.1.2 lib/gorillib/hashlike/deep_dup.rb
gorillib-0.1.1 lib/gorillib/hashlike/deep_dup.rb
gorillib-0.1.0 lib/gorillib/hashlike/deep_dup.rb