class HttpRouter::Node::Lookup
Public Class Methods
new(router, parent)
click to toggle source
Calls superclass method
HttpRouter::Node.new
# File lib/http_router/node/lookup.rb, line 4 def initialize(router, parent) @map = {} super(router, parent) end
Public Instance Methods
add(part)
click to toggle source
# File lib/http_router/node/lookup.rb, line 9 def add(part) Node.new(@router, self, @map[part] ||= []) end
inspect_label()
click to toggle source
# File lib/http_router/node/lookup.rb, line 23 def inspect_label "#{self.class.name}" end
inspect_matchers_body()
click to toggle source
# File lib/http_router/node/lookup.rb, line 17 def inspect_matchers_body @map.map { |key, values| ins = "#{' ' * depth}when #{key.inspect}:\n" ins << values.map{|v| v.inspect}.join("\n") }.join("\n") end
to_code()
click to toggle source
# File lib/http_router/node/lookup.rb, line 27 def to_code part_name = "part#{root.next_counter}" "unless request.path_finished? #{part_name} = request.path.shift case #{part_name} #{@map.map{|k, v| "when #{k.inspect}; #{v.map(&:to_code) * "\n"};"} * "\n"} end request.path.unshift #{part_name} end" end
usable?(other)
click to toggle source
# File lib/http_router/node/lookup.rb, line 13 def usable?(other) other.class == self.class end