module Rack::Skippable

Constants

VERSION

Public Class Methods

wrap(base_class, skip_when) click to toggle source
Calls superclass method
# File lib/rack/skippable.rb, line 15
def self.wrap(base_class, skip_when)
  rack_class = Class.new(base_class)
  rack_class.class_exec(skip_when) do |skip_when|
    define_method(:call) do |env|
      if skip_when.call(env)
        @app.call(env)
      else
        super(env)
      end
    end
  end
  rack_class
end