Rack::Builder implements a small DSL to iteratively construct Rack applications.
Example:
app = Rack::Builder.new {
use Rack::CommonLogger
use Rack::ShowExceptions
map "/lobster" do
use Rack::Lint
run Rack::Lobster.new
end
}
Or
app = Rack::Builder.app do
use Rack::CommonLogger
lambda { |env| [200, {'Content-Type' => 'text/plain'}, 'OK'] }
end
use adds a middleware to the stack, run dispatches to an application. You can use map to construct a Rack::URLMap in a convenient way.
(Not documented)
# File lib/rack/builder.rb, line 59
59: def call(env)
60: to_app.call(env)
61: end
(Not documented)
# File lib/rack/builder.rb, line 44
44: def map(path, &block)
45: if @ins.last.kind_of? Hash
46: @ins.last[path] = self.class.new(&block).to_app
47: else
48: @ins << {}
49: map(path, &block)
50: end
51: end
(Not documented)
# File lib/rack/builder.rb, line 40
40: def run(app)
41: @ins << app #lambda { |nothing| app }
42: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.