class Rage::Router::ParentNode
def create_static_child(path)
def create_static_child(path) if path.length == 0 return self end static_child = @static_children[path[0]] if static_child i = 1 while i < static_child.prefix.length if path[i] != static_child.prefix[i] static_child = static_child.split(self, i) break end i += 1 end return static_child.create_static_child(path[i, path.length - i]) end @static_children[path[0]] = StaticNode.new(path) end
def find_static_matching_child(path, path_index)
def find_static_matching_child(path, path_index) static_child = @static_children[path[path_index]] if !static_child || !static_child.match_prefix.call(path, path_index) return nil end static_child end
def initialize
def initialize super @static_children = {} end