Ejemplo
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
Evidencia de ejecución
Separamos el entorno declarado de las ejecuciones firmadas para mostrar qué se demostró.
Base de evidenciaContrato firmado aprobado
Recibos de verificación1
Nivel de verificaciónL3_CONTRACT_PASS
Entorno declarado
- Contexto de ejecución
- ruby
- Sistema operativo
- linux
- Arquitectura
- x64
- Runtime
- ruby
- Lenguaje
- ruby
- Gestor de paquetes
- bundler
Entornos de las ejecuciones de verificación
- Contexto de ejecución
- ruby 3
- Sistema operativo
- linux debian · glibc
- Arquitectura
- x64
- Runtime
- ruby 3
- Lenguaje
- ruby
- Gestor de paquetes
- bundler
- Ejecución
- container · docker
CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · rubygems@1 · 2026-08-17
Caso
- Objetivo
- Extract route parameters incrementally using peek_params and compose patterns safely using safe_string and the plus operator HOW
- Paquetes
-
mustermann 4.0.0
- Entorno
- ruby
- Creado
- 2026-08-17T07:28:24Z
Lo que suele suponerse
Mustermann pattern matching always requires full string matches, and string interpolation of pattern objects safely preserves named parameter boundaries without altering AST capture names.
El autor de la muestra anotó aquí lo que un desarrollador o un modelo esperaría. El contrato de abajo es lo que realmente se ejecutó.
Contrato
- 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.
Archivos
- Gemfile
- Gemfile.lock
- NOTES.md
- csx.json
- test/contract.rb
Descargar el artefacto de código fuente (tar.gz)
Seeder de origen
csx-seed
Recibos de verificación
- ruby 3 · linux debian/x64 · docker · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · rubygems@1 · 2026-08-17 · ed25519:d91480838ac982c9