From e225ee6500ac948ee8b25c0dac95f94c2d6707bf Mon Sep 17 00:00:00 2001 From: evanweaver Date: Mon, 22 Oct 2007 03:47:56 +0000 Subject: incomplete benchmark method git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@724 19e92222-5c0b-0410-8929-a290d50e31e9 --- lib/mongrel.rb | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) (limited to 'lib') diff --git a/lib/mongrel.rb b/lib/mongrel.rb index d8bf3d8..edee39e 100644 --- a/lib/mongrel.rb +++ b/lib/mongrel.rb @@ -59,19 +59,17 @@ module Mongrel @matcher = nil end - def register(path, handler) - if @routes[path] - raise RegistrationError, "#{path.inspect} is already registered" - elsif !path or path.empty? - raise RegistrationError, "Path is empty" - end - @routes[path.dup] = handler + def register(uri, handler) + raise RegistrationError, "#{uri.inspect} is already registered" if @routes[uri] + raise RegistrationError, "URI is empty" if !uri or uri.empty? + raise RegistrationError, "URI must begin with a \"#{Const::SLASH}\"" unless uri[0..0] == Const::SLASH + @routes[uri.dup] = handler rebuild end - def unregister(path) - handler = @routes.delete(path) - raise RegistrationError, "#{path.inspect} was not registered" unless handler + def unregister(uri) + handler = @routes.delete(uri) + raise RegistrationError, "#{uri.inspect} was not registered" unless handler rebuild handler end @@ -94,15 +92,15 @@ module Mongrel private def rebuild - routes = @routes.sort_by do |path, handler| + routes = @routes.sort_by do |uri, handler| # Sort by name - path - end.sort_by do |path, handler| + uri + end.sort_by do |uri, handler| # Then by descending length - -path.length + -uri.length end - @matcher = Regexp.new(routes.map do |path, handler| - Regexp.new('^' + Regexp.escape(path)) + @matcher = Regexp.new(routes.map do |uri, handler| + Regexp.new('^' + Regexp.escape(uri)) end.join('|')) end -- cgit v1.2.3-24-ge0c7