1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/actionpack/lib/action_dispatch/middleware/cascade.rb
2009-12-26 13:28:06 -06:00

29 lines
496 B
Ruby

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