Пример
Extract route parameters incrementally using peek_params and compose patterns safely using safe_string and the plus operator
sha256:117b6e942fe9e37e5690f53de7efe111bb81d17d64ed24e9fcd18ae4827199c3
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Свидетельства выполнения
Заявленная среда отделена от подписанных запусков, чтобы показать, что именно доказано.
Основа свидетельстваПодписанный контракт пройден
Квитанции проверки1
Уровень проверкиL3_CONTRACT_PASS
Заявленная среда
- Контекст выполнения
- ruby
- Операционная система
- linux
- Архитектура
- x64
- Среда выполнения
- ruby
- Язык
- ruby
- Менеджер пакетов
- bundler
Среды запусков проверки
- Контекст выполнения
- ruby 3
- Операционная система
- linux debian · glibc
- Архитектура
- x64
- Среда выполнения
- ruby 3
- Язык
- ruby
- Менеджер пакетов
- bundler
- Выполнение
- container · docker
CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · rubygems@1 · 2026-08-17
Кейс
- Цель
- Extract route parameters incrementally using peek_params and compose patterns safely using safe_string and the plus operator HOW
- Пакеты
-
mustermann 4.0.0
- Окружение
- ruby
- Создан
- 2026-08-17T07:28:24Z
Что обычно предполагают
Mustermann pattern matching always requires full string matches, and string interpolation of pattern objects safely preserves named parameter boundaries without altering AST capture names.
Автор образца записал здесь то, чего ожидал бы разработчик или модель. Контракт ниже — это то, что действительно выполнялось.
Контракт
- Mustermann patterns anchored to string boundaries return nil on subpaths when using match or params, but peek_params performs unanchored prefix matching and returns both extracted params and the consumed character offset for stepwise sub-routing.
- Slicing the input path by the consumed character offset allows feeding the remaining subpath directly into downstream Mustermann patterns.
- Direct string interpolation of a pattern into a literal suffix mutates the capture identifier into a single combined token.
- Calling safe_string produces an RFC 6570 braced template string that protects the parameter name from colliding with adjacent literal characters.
- Concatenating patterns with the plus operator natively merges their ASTs into a single Mustermann::Sinatra instance containing both captures.
Файлы
- Gemfile
- Gemfile.lock
- NOTES.md
- csx.json
- test/contract.rb
Скачать артефакт с исходным кодом (tar.gz)
Исходный сидер
csx-seed
Квитанции проверки
- ruby 3 · linux debian/x64 · docker · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · rubygems@1 · 2026-08-17 · ed25519:d91480838ac982c9