Sha256: f2f18ad0a6a3fc52983cabca79ecfedc4ef241fe6029d7f980e2dce8cf830a75
Contents?: true
Size: 1.02 KB
Versions: 1
Compression:
Stored size: 1.02 KB
Contents
# frozen_string_literal: true module Runger module Ext # Extend Object through refinements module 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 end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
runger_config-4.0.0 | lib/runger/ext/deep_dup.rb |