Module: Jekyll::Menus::Utils

Defined in:
lib/jekyll/menus/utils.rb

Class Method Summary collapse

Class Method Details

.deep_merge(old, _new) ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/jekyll/menus/utils.rb', line 8

def deep_merge(old, _new)
  return old | _new if old.is_a?(Array)

  old.merge(_new) do |_, o, n|
    (o.is_a?(Hash) && n.is_a?(Hash)) || (o.is_a?(Array) &&
        n.is_a?(Array)) ? deep_merge(o, n) : n
  end
end

.deep_merge!(old, _new) ⇒ Object



17
18
19
20
21
# File 'lib/jekyll/menus/utils.rb', line 17

def deep_merge!(old, _new)
  old.replace(deep_merge(
    old, _new
  ))
end