Sha256: 3461d0b19ca7dca8ca9ec304c196841eac24b710d8f4f3d3c392b3bd25400a83
Contents?: true
Size: 714 Bytes
Versions: 3
Compression:
Stored size: 714 Bytes
Contents
# frozen_string_literal: true # TODO: убрать, все равно конфиг надо парсить нормально module DeepMerge refine Hash do def deep_merge! other other.each do |key, value| if has_key?(key) && self[key].respond_to?(:deep_merge!) self[key].deep_merge! value else self[key] = value end end self end end refine Array do def deep_merge! other other.each do |value| next if self.include?(value) next if String === value && self.include?(value.intern) next if Symbol === value && self.include?(value.to_s) self << value end self end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
inat-get-0.8.0.15 | lib/inat/utils/deep.rb |
inat-get-0.8.0.14 | lib/inat/utils/deep.rb |
inat-get-0.8.0.13 | lib/inat/utils/deep.rb |