# 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