Module: DocMyRoutes::HashHelpers

Defined in:
lib/doc_my_routes/doc/hash_helpers.rb

Overview

Define hash helpers for deep hash merge and transforming hash into array of keys

Class Method Summary collapse

Class Method Details

.array_to_hash_keys(arr, default_value = {}) ⇒ Object



12
13
14
# File 'lib/doc_my_routes/doc/hash_helpers.rb', line 12

def self.array_to_hash_keys(arr, default_value = {})
  {}.tap { |hash| arr.each { |key| hash[key] = default_value } }
end

.deep_merge(first_hash, second_hash) ⇒ Object



4
5
6
7
8
9
10
# File 'lib/doc_my_routes/doc/hash_helpers.rb', line 4

def self.deep_merge(first_hash, second_hash)
  merger = proc do |key, first, second|
    first.is_a?(Hash) && second.is_a?(Hash) ? first.merge(second, &merger) : second
  end

  first_hash.merge(second_hash, &merger)
end