class WEBrick::HTTPServer::MountTable
:nodoc:
def [](dir)
def [](dir) dir = normalize(dir) @tab[dir] end
def []=(dir, val)
def []=(dir, val) dir = normalize(dir) @tab[dir] = val compile val end
def compile
def compile k = @tab.keys k.sort! k.reverse! k.collect!{|path| Regexp.escape(path) } @scanner = Regexp.new("\\A(" + k.join("|") +")(?=/|\\z)") end
def delete(dir)
def delete(dir) dir = normalize(dir) res = @tab.delete(dir) compile res end
def initialize
def initialize @tab = Hash.new compile end
def normalize(dir)
def normalize(dir) ret = dir ? dir.dup : +"" ret.sub!(%r|/+\z|, "") ret end
def scan(path)
def scan(path) @scanner =~ path [ $&, $' ] end