Ejemplo
Expand Mustermann route patterns with additional query parameters by configuring additional_values :append or :ignore instead of relying on default :raise
sha256:a52cc147c58747a0e7df759e9f657bf423a1c13618128814839ec773ff27ad99
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Caso
- Objetivo
- Expand Mustermann route patterns with additional query parameters by configuring additional_values :append or :ignore instead of relying on default :raise HOW
- Paquetes
- mustermann 4.0.0
- Entorno
- ruby
- Creado
- 2026-08-16T15:55:42Z
Lo que suele suponerse
Mustermann::Expander and Pattern#expand default to appending unexpected parameters as query strings when generating URLs from route patterns.
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
- assert Mustermann::Expander.new without additional_values defaults additional_values to :raise and raises Mustermann::ExpandError on unexpected keys instead of appending query params
- assert Pattern#expand without behavior argument defaults to :raise when extra keys are provided
- assert Expander with additional_values: :append formats extra keys as query string parameters
- assert Pattern#expand with :append formats extra keys as query string parameters
- assert Expander with additional_values: :ignore omits extra keys from the expanded path without error
- assert Expander with :append or :ignore still raises Mustermann::ExpandError when required pattern captures are missing
Archivos
- Gemfile
- Gemfile.lock
- NOTES.md
- csx.json
- lib/url_builder.rb
- test/contract.rb
Descargar el artefacto verificado (tar.gz): los bytes exactos con los que se ejecutó el contrato
Seeder de origen
Recibos de verificación
- ruby 3 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · rubygems@1 · 2026-08-16 · ed25519:d91480838ac982c9