Class WEBrick::HTTPServer::MountTable
In: lib/webrick/httpserver.rb
Parent: Object

Methods

[]   []=   compile   delete   new   normalize   scan  

Public Class methods

[Source]

     # File lib/webrick/httpserver.rb, line 164
164:       def initialize
165:         @tab = Hash.new
166:         compile
167:       end

Public Instance methods

[Source]

     # File lib/webrick/httpserver.rb, line 169
169:       def [](dir)
170:         dir = normalize(dir)
171:         @tab[dir]
172:       end

[Source]

     # File lib/webrick/httpserver.rb, line 174
174:       def []=(dir, val)
175:         dir = normalize(dir)
176:         @tab[dir] = val
177:         compile
178:         val
179:       end

[Source]

     # File lib/webrick/httpserver.rb, line 181
181:       def delete(dir)
182:         dir = normalize(dir)
183:         res = @tab.delete(dir)
184:         compile
185:         res
186:       end

[Source]

     # File lib/webrick/httpserver.rb, line 188
188:       def scan(path)
189:         @scanner =~ path
190:         [ $&, $' ]
191:       end

Private Instance methods

[Source]

     # File lib/webrick/httpserver.rb, line 195
195:       def compile
196:         k = @tab.keys
197:         k.sort!
198:         k.reverse!
199:         k.collect!{|path| Regexp.escape(path) }
200:         @scanner = Regexp.new("^(" + k.join("|") +")(?=/|$)")
201:       end

[Source]

     # File lib/webrick/httpserver.rb, line 203
203:       def normalize(dir)
204:         ret = dir ? dir.dup : ""
205:         ret.sub!(%r|/+$|, "")
206:         ret
207:       end

[Validate]