def to_request(new_input = Undefined)
      new_input.equal?(Undefined) ? self : self.class.new(name, env, new_input)
    end
def to_request(new_input = Undefined)
      new_input.equal?(Undefined) ? self : self.class.new(name, env, new_input)
    end
Return self or a new instance with +input+

 @param [Object] input
   the input for the new instance

 @return [self]
   if +input+ is {Undefined}

 @return [Request]
   a new instance with +input+

 @api private