Method: Nx#set
- Defined in:
- lib/nx.rb
#set(path, value) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/nx.rb', line 4 def set(path, value) me = self || {} keys = [] path.split(".").each do |dot_part| dot_part.split("[").each do |part| keys << (part.include?("]") ? part.to_i : part) end end # set by path: keys[0..-2].each_with_index do |key, index| me = me[key] = me[key] || (keys[index + 1].class == String ? {} : []) end me[keys[-1].to_sym] = value end |