class Rack::Turnout
Public Class Methods
new(app, config={})
click to toggle source
# File lib/rack/turnout.rb, line 5 def initialize(app, config={}) @app = app Turnout.config.update config if config[:app_root].nil? && app.respond_to?(:app_root) Turnout.config.app_root = app.app_root end end
Public Instance Methods
call(env)
click to toggle source
# File lib/rack/turnout.rb, line 15 def call(env) request = Turnout::Request.new(env) settings = Turnout::MaintenanceFile.find if settings && !request.allowed?(settings) page_class = Turnout::MaintenancePage.best_for(env) page = page_class.new(settings.reason, env: env) page.rack_response(settings.response_code, settings.retry_after) else @app.call(env) end end