Sha256: 86d2fb12cc72776a20dbff51211f092ddcd4e3fe996c78ae6f72dc242ebcc286

Contents?: true

Size: 452 Bytes

Versions: 148

Compression:

Stored size: 452 Bytes

Contents

class Object
  def duplicable?
    true
  end

  def deep_dup
    duplicable? ? dup : self
  end
end

class Array
  def deep_dup
    map(&:deep_dup)
  end
end

# class Hash
#   def deep_dup
#     hash = dup
#     each_pair do |key, value|
#       if key.frozen? && ::String === key
#         hash[key] = value.deep_dup
#       else
#         hash.delete(key)
#         hash[key.deep_dup] = value.deep_dup
#       end
#     end
#     hash
#   end
# end

Version data entries

148 entries across 148 versions & 2 rubygems

Version Path
relaton-bib-1.20.7 lib/relaton_bib/deep_dup.rb
relaton-bib-1.20.6 lib/relaton_bib/deep_dup.rb
relaton-bib-1.20.5 lib/relaton_bib/deep_dup.rb
relaton-bib-1.20.4 lib/relaton_bib/deep_dup.rb
relaton-bib-1.20.3 lib/relaton_bib/deep_dup.rb
relaton-bib-1.20.2 lib/relaton_bib/deep_dup.rb
relaton-bib-1.19.7 lib/relaton_bib/deep_dup.rb
relaton-bib-1.20.1 lib/relaton_bib/deep_dup.rb
relaton-bib-1.20.0 lib/relaton_bib/deep_dup.rb
relaton-bib-1.19.6 lib/relaton_bib/deep_dup.rb
relaton-bib-1.19.5 lib/relaton_bib/deep_dup.rb
relaton-bib-1.19.4 lib/relaton_bib/deep_dup.rb
relaton-bib-1.19.3 lib/relaton_bib/deep_dup.rb
relaton-bib-1.19.2 lib/relaton_bib/deep_dup.rb
relaton-bib-1.19.1 lib/relaton_bib/deep_dup.rb
relaton-bib-1.19.0 lib/relaton_bib/deep_dup.rb
relaton-bib-1.18.5 lib/relaton_bib/deep_dup.rb
relaton-bib-1.18.3 lib/relaton_bib/deep_dup.rb
relaton-bib-1.18.2 lib/relaton_bib/deep_dup.rb
relaton-bib-1.18.1 lib/relaton_bib/deep_dup.rb