Sinatra::Base#compile!
1140 def compile!(verb, path, block, options = {})
1141 options.each_pair { |option, args| send(option, *args) }
1142 method_name = "#{verb} #{path}"
1143
1144 define_method(method_name, &block)
1145 unbound_method = instance_method method_name
1146 pattern, keys = compile(path)
1147 conditions, @conditions = @conditions, []
1148 remove_method method_name
1149
1150 [ block.arity != 0 ?
1151 proc { unbound_method.bind(self).call(*@block_params) } :
1152 proc { unbound_method.bind(self).call },
1153 pattern, keys, conditions ]
1154 end