class ActionDispatch::Routing::Mapper::Constraints

def initialize(app, constraints, strategy)

def initialize(app, constraints, strategy)
  # Unwrap Constraints objects. I don't actually think it's possible
  # to pass a Constraints object to this constructor, but there were
  # multiple places that kept testing children of this object. I
  # *think* they were just being defensive, but I have no idea.
  if app.is_a?(self.class)
    constraints += app.constraints
    app = app.app
  end
  @strategy = strategy
  @app, @constraints, = app, constraints
end