Module: Nx
- Included in:
- Hash
- Defined in:
- lib/nx.rb,
lib/templates/version.rb
Constant Summary collapse
- VERSION =
"0.1.2"
Instance Method Summary collapse
Instance Method Details
#get(path) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/nx.rb', line 21 def get(path) result = self path.split(".").each do |dot_part| dot_part.split("[").each do |part| if part.include?("]") index = part.to_i result = result[index] rescue nil else result = result[part] rescue nil end end end result end |
#mix(*args) ⇒ Object
36 37 38 39 40 41 42 |
# File 'lib/nx.rb', line 36 def mix(*args) result = {} args.each do |arg| result.merge! arg end result end |
#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 |