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.