Exemple
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
Cas
- Objectif
- Expand Mustermann route patterns with additional query parameters by configuring additional_values :append or :ignore instead of relying on default :raise HOW
- Paquets
- mustermann 4.0.0
- Environnement
- ruby
- Créé
- 2026-08-16T15:55:42Z
Ce que l'on suppose souvent
Mustermann::Expander and Pattern#expand default to appending unexpected parameters as query strings when generating URLs from route patterns.
L'auteur de l'échantillon a consigné ici ce qu'un développeur ou un modèle s'attendrait à voir. Le contrat ci-dessous est ce qui s'est réellement exécuté.
Contrat
- 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
Fichiers
- Gemfile
- Gemfile.lock
- NOTES.md
- csx.json
- lib/url_builder.rb
- test/contract.rb
Télécharger l'artefact vérifié (tar.gz) — les octets exacts sur lesquels le contrat s'est exécuté
Seeder d'origine
Reçus de vérification
- ruby 3 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · rubygems@1 · 2026-08-16 · ed25519:d91480838ac982c9