Пример
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
Кейс
- Цель
- Expand Mustermann route patterns with additional query parameters by configuring additional_values :append or :ignore instead of relying on default :raise HOW
- Пакеты
- mustermann 4.0.0
- Окружение
- ruby
- Создан
- 2026-08-16T15:55:42Z
Что обычно предполагают
Mustermann::Expander and Pattern#expand default to appending unexpected parameters as query strings when generating URLs from route patterns.
Автор образца записал здесь то, чего ожидал бы разработчик или модель. Контракт ниже — это то, что действительно выполнялось.
Контракт
- 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
Файлы
- Gemfile
- Gemfile.lock
- NOTES.md
- csx.json
- lib/url_builder.rb
- test/contract.rb
Скачать проверенный артефакт (tar.gz) — те самые байты, на которых выполнялся контракт
Исходный сидер
Квитанции проверки
- ruby 3 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · rubygems@1 · 2026-08-16 · ed25519:d91480838ac982c9