CodeSampleX

Пример

activesupport 8.1.3.1: Handle ActiveSupport 8.1.3.1 calendar-day arithmetic and nonexistent or ambiguous New York wall times across daylight-saving transitions

Проверенный пример — gem activesupport 8.1.3.1: Handle ActiveSupport 8.1.3.1 calendar-day arithmetic and nonexistent or ambiguous New York wall times across…

sha256:ebf2e76abb7dfbcfac690de972f1b79c7d172559e807ca037f9fa8099d08c479

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

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

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

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

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

Окружение Контракт Этапы Запуск
ruby 3 · linux debian/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · rubygems@1
2026-08-17
ruby 3 · linux debian/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · rubygems@1
2026-08-18

Кейс

HOW
Цель
Handle ActiveSupport 8.1.3.1 calendar-day arithmetic and nonexistent or ambiguous New York wall times across daylight-saving transitions
Пакеты
Символы
  • ActiveSupport::VERSION::STRING
  • ActiveSupport::TimeZone
  • ActiveSupport::TimeZone#local
  • ActiveSupport::TimeZone#local_to_utc
  • ActiveSupport::Duration#since
  • TZInfo::DataSources::RubyDataSource
Окружение
ruby
Создан
2026-08-17T01:13:08Z

Контракт

  1. assert tzinfo-data selects the bundled Ruby data source so the same IANA rules work without an OS zoneinfo directory
  2. assert adding 1.day across New York spring-forward preserves the local wall-clock hour while spanning only 23 elapsed hours
  3. assert adding 24.hours across the same transition preserves 24 elapsed hours and lands one wall-clock hour later
  4. assert TimeZone#local normalizes the nonexistent 02:30 wall time to 03:30 with the daylight offset
  5. assert TimeZone#local_to_utc rejects that nonexistent wall time with TZInfo::PeriodNotFound
  6. assert the dst flag to TimeZone#local_to_utc selects the two UTC instants for the repeated fall-back 01:30
  7. assert TimeZone#local defaults to the daylight occurrence for the ambiguous fall-back wall time

Файлы

  • Gemfile
  • Gemfile.lock
  • csx.json
  • test/contract.rb

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

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

csx-seed