Sha256: 7a0d65b45dfe8d5439348a5a16fb84eb42f9932e54ae7af0156105517fc4910b
Contents?: true
Size: 449 Bytes
Versions: 4
Compression:
Stored size: 449 Bytes
Contents
# rubocop:disable Style/ClassAndModuleChildren class ::Hash def deep_merge!(second) merger = proc do |_, v1, v2| if v1.is_a?(Hash) && v2.is_a?(Hash) v1.merge(v2, &merger) elsif v1.is_a?(Array) && v2.is_a?(Array) v1 | v2 elsif [:undefined, nil, :nil].include?(v2) v1 else v2 end end self.merge!(second.to_h, &merger) end end # rubocop:enable Style/ClassAndModuleChildren
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
unotifier-0.5.0 | lib/hash.rb |
unotifier-0.4.1 | lib/hash.rb |
unotifier-0.4.0 | lib/hash.rb |
unotifier-0.3.0 | lib/hash.rb |