Class

Rack::Builder

Inheritance
< Object

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.

Methods

Class

Visibility Signature
public app (&block)
public new (&block)

Instance

Visibility Signature
public call (env)
public map (path, &block)
public run (app)
public to_app ()
public use (middleware, *args, &block)

Class Method Detail

app(&block)

new(&block)

Instance Method Detail

call(env)

map(path, &block)

run(app)

to_app()

use(middleware, *args, &block)