Class: Rain::TrieNode

Inherits:
Object
  • Object
show all
Includes:
LowType
Defined in:
lib/router/trie_node.rb

Instance Method Summary collapse

Constructor Details

#initializeTrieNode

Returns a new instance of TrieNode.



15
16
17
18
19
# File 'lib/router/trie_node.rb', line 15

def initialize
  @nodes = {}
  @params = []
  @route = nil
end

Instance Method Details

#child(key: String) ⇒ Object



21
22
23
# File 'lib/router/trie_node.rb', line 21

def child(key: String)
  @nodes[key]
end

#upsert_child(key: String) ⇒ Object



25
26
27
28
# File 'lib/router/trie_node.rb', line 25

def upsert_child(key: String)
  @params << key if key.start_with?(':')
  @nodes[key] || @nodes[key] = TrieNode.new
end