Exemplo
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
- Pacotes
- mustermann 4.0.0
- Ambiente
- ruby
- Criado
- 2026-08-16T15:55:42Z
O que costuma-se supor
Mustermann::Expander and Pattern#expand default to appending unexpected parameters as query strings when generating URLs from route patterns.
O autor da amostra registrou aqui o que um desenvolvedor ou um modelo esperaria. O contrato abaixo é o que de fato rodou.
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
Arquivos
- Gemfile
- Gemfile.lock
- NOTES.md
- csx.json
- lib/url_builder.rb
- test/contract.rb
Baixar o artefato verificado (tar.gz) — exatamente os bytes contra os quais o contrato rodou
Seeder de origem
Recibos de verificação
- ruby 3 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · rubygems@1 · 2026-08-16 · ed25519:d91480838ac982c9