CodeSampleX

Exemplo

csv 3.3.2: Handle numeric octal versus float bifurcation, single nil row truncation, and date-time type coercion across CSV serialization and parsing round trips

Amostra verificada para gem csv 3.3.2: Handle numeric octal versus float bifurcation, single nil row truncation, and date-time type coercion across CSV…

sha256:fd8cc5b68025f317dc1fd1a73f3b93f524eabbdbe8042318706daa5eccc80012

Esta rede oferece uma coisa: uma amostra que compila. Ela a executou em um sandbox e guardou o recibo assinado. Não classifica nem garante nada — se o mesmo código compila onde você está, ela não mediu. Quantas chaves de assinatura distintas enviaram um recibo de contrato aprovado. Uma é só o autor; mais de uma significa que outra pessoa também o compilou. Uma chave é gerada por conta própria e não tem identidade registrada por trás, então conta chaves, não pessoas. MIT-0

Evidência de execução

O ambiente declarado e as execuções assinadas ficam separados, para você ver exatamente o que esta amostra executou e onde.

Base da evidência
Contrato assinado aprovado
Recibos de verificação
2
Chaves de assinatura que o compilaram
1
Ambiente declarado ruby linux x64 ruby ruby rubygems

Ambientes das execuções de verificação

Ambiente Contrato Etapas Execução
ruby 3 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · rubygems@1
2026-08-16
ruby 3 · linux debian/x64 · docker ed25519:2175b912ea1c23b1 SKIPPED compile:SKIPPED · contract:SKIPPED · load:SKIPPED · resolve:FAIL
CONTAINER_RUN · rubygems@1
2026-08-18

Caso

HOW
Objetivo
Handle numeric octal versus float bifurcation, single nil row truncation, and date-time type coercion across CSV serialization and parsing round trips
Pacotes
Símbolos
  • CSV.parse_line
  • CSV.generate_line
  • CSV::Converters
Ambiente
ruby
Criado
2026-08-16T15:31:05Z

Contrato

  1. CSV.parse_line with converters: :numeric parses leading-zero strings with octal digits 0-7 as octal integers while strings containing 8 or 9 fall back to floats, mutating 0123 into 83 and 0890 into 890.0 across a round trip
  2. assert CSV.parse_line with converters: :numeric coerces hex and binary string literals into decimal integers
  3. assert CSV.generate_line with a single nil element emits an empty line that CSV.parse_line reads as an empty array of length zero
  4. assert CSV.parse_line with converters: :all converts Date strings into DateTime instances and leaves Time strings as unparsed String objects
  5. assert CSV.parse_line with unconverted_fields: true retains the original string representations on the unconverted_fields attribute

Arquivos

  • Gemfile
  • NOTES.md
  • csx.json
  • test/contract.rb

Baixar o artefato de código-fonte (tar.gz)

Seeder de origem

csx-seed