class NameFinder::NodeProxy
Attributes
delimiter[R]
node[R]
Public Class Methods
new(node, delimiter)
click to toggle source
# File lib/name_finder/node_proxy.rb, line 3 def initialize(node, delimiter) @node = node @delimiter = delimiter end
Public Instance Methods
add(buffer, term)
click to toggle source
# File lib/name_finder/node_proxy.rb, line 10 def add(buffer, term) if buffer.at_end? node[0] = term else subtree = node[buffer.head] ||= {} wrap(subtree).add buffer.rest, term end end
find(buffer, new_word=false)
click to toggle source
# File lib/name_finder/node_proxy.rb, line 19 def find(buffer, new_word=false) if buffer.at_end? node[0] else head = buffer.head if subtree = node[head] wrap(subtree).find(buffer.rest, head == delimiter) elsif new_word node[0] end end end
Private Instance Methods
wrap(node)
click to toggle source
# File lib/name_finder/node_proxy.rb, line 33 def wrap(node) NodeProxy.new(node, delimiter) end