Parent

Rack::Callbacks

Public Class Methods

new(&block) click to toggle source
# File lib/rack/contrib/callbacks.rb, line 3
def initialize(&block)
  @before = []
  @after  = []
  instance_eval(&block) if block_given?
end

Public Instance Methods

after(middleware, *args, &block) click to toggle source
# File lib/rack/contrib/callbacks.rb, line 17
def after(middleware, *args, &block)
  if block_given?
    @after << middleware.new(*args, &block)
  else
    @after << middleware.new(*args)
  end
end
before(middleware, *args, &block) click to toggle source
# File lib/rack/contrib/callbacks.rb, line 9
def before(middleware, *args, &block)
  if block_given?
    @before << middleware.new(*args, &block)
  else
    @before << middleware.new(*args)
  end
end
call(env) click to toggle source
# File lib/rack/contrib/callbacks.rb, line 29
def call(env)
  @before.each {|c| c.call(env) }

  response = @app.call(env)

  @after.inject(response) {|r, c| c.call(r) }
end
run(app) click to toggle source
# File lib/rack/contrib/callbacks.rb, line 25
def run(app)
  @app = app
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.