class Thor::Options

def parse_peek(switch, option)


Parse the value at the peek analyzing if it requires an input or not.
def parse_peek(switch, option)
  if current_is_switch_formatted? || last?
    if option.boolean?
      # No problem for boolean types
    elsif no_or_skip?(switch)
      return nil # User set value to nil
    elsif option.string? && !option.required?
      # Return the default if there is one, else the human name
      return option.lazy_default || option.default || option.human_name
    elsif option.lazy_default
      return option.lazy_default
    else
      raise MalformattedArgumentError, "No value provided for option '#{switch}'"
    end
  end
  @non_assigned_required.delete(option)
  send(:"parse_#{option.type}", switch)
end