module LinkedinV2::Helpers::Hash

Public Class Methods

deep_merge(first, second) click to toggle source
# File lib/linkedin_v2/helpers/hash.rb, line 5
def deep_merge(first, second)
  first.merge(second.to_h, &merger)
end

Private Class Methods

merger() click to toggle source
# File lib/linkedin_v2/helpers/hash.rb, line 11
def merger
  -> (_key, first_value, second_value) {
    if ::Hash === first_value && ::Hash === second_value
      first_value.merge(second_value, &merger)
    elsif ::Array === first_value && ::Array === second_value
      first_value | second_value
    else
      [ :undefined, nil, :nil ].include?(second_value) ? first_value : second_value
    end
  }
end