blob: 9f5c9891f0f5cd0cade44e9fea9ac6b2eff97bc0 (
plain) (
tree)
|
|
module ActionDispatch
class Cascade
def self.new(*apps)
apps = apps.flatten
case apps.length
when 0
raise ArgumentError, "app is required"
when 1
apps.first
else
super(apps)
end
end
def initialize(apps)
@apps = apps
end
def call(env)
result = nil
@apps.each do |app|
result = app.call(env)
break unless result[1]["X-Cascade"] == "pass"
end
result
end
end
end
|