Class: Abroad::Serializers::Trie
- Inherits:
-
Object
- Object
- Abroad::Serializers::Trie
- Defined in:
- lib/abroad/serializers/trie.rb
Instance Attribute Summary collapse
-
#root ⇒ Object
readonly
Returns the value of attribute root.
Instance Method Summary collapse
- #add(key_enum, value) ⇒ Object
- #find(key_enum) ⇒ Object
-
#initialize(root = nil) ⇒ Trie
constructor
A new instance of Trie.
Constructor Details
Instance Attribute Details
#root ⇒ Object (readonly)
Returns the value of attribute root.
5 6 7 |
# File 'lib/abroad/serializers/trie.rb', line 5 def root @root end |
Instance Method Details
#add(key_enum, value) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/abroad/serializers/trie.rb', line 11 def add(key_enum, value) node = root key_enum.each do |key| if node.has_child?(key) node = node.child_at(key) else node = node.add_child(key, TrieNode.new) end end node.value = value end |
#find(key_enum) ⇒ Object
25 26 27 28 29 30 31 32 |
# File 'lib/abroad/serializers/trie.rb', line 25 def find(key_enum) node = root key_enum.each do |key| node = node.child_at(key) return nil unless node end node.value end |