class Thor::Arguments

def parse_string(name)


for --no-string-arg, nil
for --string-arg, just return the current value in the pile
Parse string:
def parse_string(name)
  if no_or_skip?(name)
    nil
  else
    value = shift
    if @switches.is_a?(Hash) && switch = @switches[name]
      if switch.enum && !switch.enum.include?(value)
        raise MalformattedArgumentError, "Expected '#{name}' to be one of #{switch.enum.join(', ')}; got #{value}"
      end
    end
    value
  end
end