Module: Doing::ArrayNestedHash

Defined in:
lib/doing/array/nested_hash.rb

Overview

Array helpers

Instance Method Summary collapse

Instance Method Details

#nested_hash(value = nil) ⇒ Object

Convert array to nested hash, setting last key to value



13
14
15
16
17
# File 'lib/doing/array/nested_hash.rb', line 13

def nested_hash(value = nil)
  hsh = Hash.new { |h, k| h[k] = Hash.new(&h.default_proc) }
  hsh.dig(*self[0..-2])[fetch(-1)] = value
  hsh
end