CodeSampleX

Пример

csv 3.3.2: Handle built-in :time converter in CSV.parse, CSV.open StringIO support, CSV::TSV tab separation, and quoted custom col_sep parsing with empty lines in CSV gem patch releases

Проверенный пример — gem csv 3.3.2: Handle built-in :time converter in CSV.parse, CSV.open StringIO support, CSV::TSV tab separation, and quoted custom…

sha256:cd77a19583a5e0694a988590f8ce51c6b9a0a08226060f6d68e94be73eacc130

Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла. Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди. MIT-0

Свидетельства выполнения

Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.

Основа свидетельства
Подписанный контракт пройден
Квитанции проверки
2
Ключи подписи, собравшие его
1
Заявленная среда ruby linux x64 ruby ruby rubygems

Среды запусков проверки

Окружение Контракт Этапы Запуск
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

Кейс

HOW
Цель
Handle built-in :time converter in CSV.parse, CSV.open StringIO support, CSV::TSV tab separation, and quoted custom col_sep parsing with empty lines in CSV gem patch releases
Пакеты
Символы
  • CSV.parse
  • CSV.open
  • CSV::TSV.parse
  • CSV::TSV.generate
  • CSV::Converters
Окружение
ruby
Создан
2026-08-16T15:24:42Z

Контракт

  1. assert CSV.parse with converters: :time converts ISO 8601 timestamps into Time objects rather than raising undefined method arity
  2. assert CSV.open directly accepts StringIO instances in both block and return forms without raising TypeError
  3. assert CSV::TSV provides built-in TSV parsing and generation without requiring explicit col_sep configuration
  4. assert CSV.parse with custom col_sep handles empty lines amidst quoted fields without corrupted columns

Файлы

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

Скачать артефакт с исходным кодом (tar.gz)

Исходный сидер

csx-seed