Module: AngryHash::Parsing::DotNotation
- Included in:
- AngryHash::Parsing
- Defined in:
- lib/angry_hash/parsing/dot_notation.rb
Instance Method Summary collapse
- #__resolve_dotted(parent, dotted) ⇒ Object
- #add_dotted(dotted) ⇒ Object
- #set_dotted(key, value) ⇒ Object
Instance Method Details
#__resolve_dotted(parent, dotted) ⇒ Object
18 19 20 21 22 23 24 25 |
# File 'lib/angry_hash/parsing/dot_notation.rb', line 18 def __resolve_dotted(parent, dotted) return parent if dotted.empty? dotted = dotted.dup first = dotted.shift new_child = parent.send("#{first}!") __resolve_dotted(new_child, dotted) end |
#add_dotted(dotted) ⇒ Object
4 5 6 7 8 |
# File 'lib/angry_hash/parsing/dot_notation.rb', line 4 def add_dotted(dotted) dotted.each do |key,value| set_dotted(key.to_s,value) end end |
#set_dotted(key, value) ⇒ Object
10 11 12 13 14 15 16 |
# File 'lib/angry_hash/parsing/dot_notation.rb', line 10 def set_dotted(key, value) parts = key.split(".") last = parts.pop parent = __resolve_dotted(self, parts) parent[last] = value end |