module Middleman::CoreExtensions::Request::ClassMethods

def app

Returns:
  • (Rack::Builder) -

Other tags:
    Private: -
def app
  @app ||= ::Rack::Builder.new
end

def call(env)

Other tags:
    Private: -
def call(env)
  prototype.call(env)
end

def inst(&block)

Returns:
  • (Middleman::Application) -

Other tags:
    Private: -
def inst(&block)
  @inst ||= begin
    mm = new(&block)
    mm.run_hook :ready
    mm
  end
end

def inst=(inst)

Returns:
  • (void) -

Parameters:
  • inst (Middleman::Application) --

Other tags:
    Private: -
def inst=(inst)
  @inst = inst
end

def map(map, &block)

Returns:
  • (void) -

Parameters:
  • map (String) -- Path to map
def map(map, &block)
  @mappings ||= []
  @mappings << [map, block]
end

def prototype

Returns:
  • (Rack::Builder) -

Other tags:
    Private: -
def prototype
  @prototype ||= to_rack_app
end

def reset!

Other tags:
    Private: -
def reset!
  @app = nil
  @prototype = nil
end

def to_rack_app(&block)

Returns:
  • (Rack::Builder) -

Other tags:
    Private: -
def to_rack_app(&block)
  inner_app = inst(&block)
  (@middleware || []).each do |m|
    app.use(m[0], *m[1], &m[2])
  end
  app.map("/") { run inner_app }
  (@mappings || []).each do |m|
    app.map(m[0], &m[1])
  end
  app
end

def use(middleware, *args, &block)

Returns:
  • (void) -

Parameters:
  • middleware (Class) -- Middleware module
def use(middleware, *args, &block)
  @middleware ||= []
  @middleware << [middleware, args, block]
end