class TwitterCldr::Utils::Trie::Node
Attributes
value[RW]
Public Class Methods
new(value = nil, children = {})
click to toggle source
# File lib/twitter_cldr/utils/trie.rb, line 133 def initialize(value = nil, children = {}) @value = value @children = children end
Public Instance Methods
child(key)
click to toggle source
# File lib/twitter_cldr/utils/trie.rb, line 138 def child(key) @children[key] end
each_key_and_child(&block)
click to toggle source
# File lib/twitter_cldr/utils/trie.rb, line 154 def each_key_and_child(&block) @children.each(&block) end
has_children?()
click to toggle source
# File lib/twitter_cldr/utils/trie.rb, line 146 def has_children? !@children.empty? end
has_value?()
click to toggle source
# File lib/twitter_cldr/utils/trie.rb, line 150 def has_value? !!value end
keys()
click to toggle source
# File lib/twitter_cldr/utils/trie.rb, line 158 def keys @children.keys end
set_child(key, child)
click to toggle source
# File lib/twitter_cldr/utils/trie.rb, line 142 def set_child(key, child) @children[key] = child end
subtrie_hash()
click to toggle source
# File lib/twitter_cldr/utils/trie.rb, line 166 def subtrie_hash @children.inject({}) do |memo, (key, child)| memo[key] = [child.value, child.subtrie_hash] memo end end
to_trie()
click to toggle source
# File lib/twitter_cldr/utils/trie.rb, line 162 def to_trie Trie.new(self.class.new(nil, @children)).lock end