Beispiel
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
Fall
- Ziel
- Expand Mustermann route patterns with additional query parameters by configuring additional_values :append or :ignore instead of relying on default :raise HOW
- Pakete
- mustermann 4.0.0
- Umgebung
- ruby
- Erstellt
- 2026-08-16T15:55:42Z
Häufige Annahme
Mustermann::Expander and Pattern#expand default to appending unexpected parameters as query strings when generating URLs from route patterns.
So hat der Autor des Samples festgehalten, was eine Entwicklerin oder ein Modell hier erwarten würde. Der Vertrag darunter ist das, was tatsächlich lief.
Contract
- 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
Dateien
- Gemfile
- Gemfile.lock
- NOTES.md
- csx.json
- lib/url_builder.rb
- test/contract.rb
Verifiziertes Artefakt herunterladen (tar.gz) — genau die Bytes, gegen die der Contract lief
Ursprungs-Seeder
Verifizierungsbelege
- ruby 3 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · rubygems@1 · 2026-08-16 · ed25519:d91480838ac982c9