# File lib/sinatra/namespace.rb, line 117
    def self.new(base, pattern, conditions = {}, &block)
      Module.new do
        #quelch uninitialized variable warnings, since these get used by compile method.
        @pattern, @conditions = nil, nil
        extend NamespacedMethods
        include InstanceMethods
        @base, @extensions, @errors = base, [], {}
        @pattern, @conditions = compile(pattern, conditions)
        @templates            = Hash.new { |h,k| @base.templates[k] }
        namespace = self
        before { extend(@namespace = namespace) }
        class_eval(&block)
      end
    end