Class: WEBrick::HTTPServer::MountTable
Do not use. This class is for internal use only.
Relationships & Source Files | |
Inherits: | Object |
Defined in: | lib/webrick/httpserver.rb |
Overview
Mount table for the path a servlet is mounted on in the directory space of the server. Users of ::WEBrick
can only access this indirectly via #mount, #unmount and #search_servlet
Class Method Summary
- .new ⇒ MountTable constructor
Instance Method Summary
- #[](dir)
- #[]=(dir, val)
- #delete(dir)
- #scan(path)
- #compile private
- #normalize(dir) private
Constructor Details
.new ⇒ MountTable
# File 'lib/webrick/httpserver.rb', line 248
def initialize @tab = Hash.new compile end
Instance Method Details
#[](dir)
[ GitHub ]# File 'lib/webrick/httpserver.rb', line 253
def [](dir) dir = normalize(dir) @tab[dir] end
#[]=(dir, val)
[ GitHub ]#compile (private)
[ GitHub ]# File 'lib/webrick/httpserver.rb', line 279
def compile k = @tab.keys k.sort! k.reverse! k.collect!{|path| Regexp.escape(path) } @scanner = Regexp.new("\\A(" + k.join("|") +")(?=/|\\z)") end
#delete(dir)
[ GitHub ]#normalize(dir) (private)
[ GitHub ]# File 'lib/webrick/httpserver.rb', line 287
def normalize(dir) ret = dir ? dir.dup : "" ret.sub!(%r|/+\z|, "") ret end
#scan(path)
[ GitHub ]# File 'lib/webrick/httpserver.rb', line 272
def scan(path) @scanner =~ path [ $&, $' ] end