Inconsistent quoting behavior when serializing strings starting with zero

Aberta
#701 3 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
35/100
Tipo de issue
Bug
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
ruby
Domínio
tooling

Direção de pesquisa

Comece reproduzindo os dois casos de serialização de UUID no Psych e leia o commit referenciado b737f0811a9687cf86f44f0a35f61cbde9eac673 junto com a regra do YAML 1.2 para correspondência de números de ponto flutuante. Confirme se a diferença na utilização de aspas segue o esquema pretendido e, em seguida, defina um teste de regressão para o comportamento acordado.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Hello there,

we detected a weird behavior when serializing UUIDs. Some of them, such as 0054971b-b746-4776-ae7a-d942cd511393, are quoted during dump, whereas others, such as 0645cada-c729-48cb-a4e3-9d8cbc7cb510 aren't.

The observed behavior seems related to this commit created to fix this issue with floats handling.

The YAML 1.2 schema uses this regexp /[-+]?(\.[0-9]+|[0-9]+(\.[0-9]*)?)([eE][-+]?[0-9]+)?/ to match floats, but on Psych side this regexp is used: /\A0[0-7]*[89]/, which leads in my understanding to an inconsistent behavior.

I'd be glad to craft a PR but I' not sure whether Psych behavior is expected or not.

Thank you :)

Linguagem predominante
Ruby
Estrelas
596
Forks
224
Merge médio
5h 47min
PRs com merge (30d)
3

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de ruby/psych

Todas as issues de ruby/psych

Issues semelhantes

Mais issues de Ruby

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.