Sha256: 705befa36ee330af4fc3e322786278f239726c69e327cc54498a09df97fd5ad4
Contents?: true
Size: 888 Bytes
Versions: 3
Compression:
Stored size: 888 Bytes
Contents
# frozen_string_literal: true # Extend Object through refinements module Runger::Ext::DeepDup refine ::Hash do # Based on ActiveSupport http://api.rubyonrails.org/classes/Hash.html#method-i-deep_dup def deep_dup each_with_object(dup) do |(key, value), hash| hash[key] = if value.is_a?(::Hash) || value.is_a?(::Array) value.deep_dup else value end end end end refine ::Array do # From ActiveSupport http://api.rubyonrails.org/classes/Array.html#method-i-deep_dup def deep_dup map do |value| if value.is_a?(::Hash) || value.is_a?(::Array) value.deep_dup else value end end end end refine ::Object do def deep_dup dup end end refine ::Module do def deep_dup self end end using self end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
runger_config-5.2.0 | lib/runger/ext/deep_dup.rb |
runger_config-5.1.0 | lib/runger/ext/deep_dup.rb |
runger_config-5.0.0 | lib/runger/ext/deep_dup.rb |