CodeSampleX

Пример

Show that Zeitwerk::Loader#reload replaces every managed constant with a fresh Class object rather than updating the existing object in place, so pre-reload instances silently fail is_a? checks against the live constant after reload.

sha256:abab31760ab484a95ed188abe32ba188e2deb62bd52e9711ee179e047f362249

PUBLISHED L3_CONTRACT_PASS MIT-0

Кейс

Цель
Show that Zeitwerk::Loader#reload replaces every managed constant with a fresh Class object rather than updating the existing object in place, so pre-reload instances silently fail is_a? checks against the live constant after reload. HOW
Пакеты
zeitwerk 2.8.3
Окружение
ruby
Создан
2026-08-17T02:50:01Z

Что обычно предполагают

Calling loader.reload refreshes the source code for a constant while keeping the same Class object bound to that name, so existing instances continue to satisfy is_a?(Widget) and case/when Widget after reload.

Автор образца записал здесь то, чего ожидал бы разработчик или модель. Контракт ниже — это то, что действительно выполнялось.

Контракт

Файлы

Скачать проверенный артефакт (tar.gz) — те самые байты, на которых выполнялся контракт

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

csx-seed

Квитанции проверки