Beispiel
Handle Mustermann::Set and Mustermann::Router route precedence inversion between linear and trie matching, multi-value duplicate pattern grouping, and concurrent thread isolation
sha256:66d61dfccdd0f8791209e5f8be9bfe85a6d40421464e04690eb19ee0c2faae7e
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Fall
- Ziel
- Handle Mustermann::Set and Mustermann::Router route precedence inversion between linear and trie matching, multi-value duplicate pattern grouping, and concurrent thread isolation HOW
- Pakete
- mustermann 4.0.0
- Umgebung
- ruby
- Erstellt
- 2026-08-16T15:58:00Z
Häufige Annahme
A Mustermann pattern set matches routes in FIFO registration order, preserving chronological evaluation across both linear and trie matcher modes regardless of route volume.
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 linear mode matches routes in FIFO insertion order, whereas trie mode prioritizes static segments over generic captures, inverting route resolution precedence
- assert crossing the default 50-route threshold dynamically re-compiles the set from linear to trie mode, flipping route resolution precedence
- assert interleaved multi-value registrations on duplicate patterns group together in linear mode and prioritize static routes in trie mode, disrupting chronological insertion order
- assert configuring strict_order: true restores exact chronological registration order across both first-match and all-matches in trie mode
- assert Mustermann::Router dispatches concurrent multi-threaded requests safely without cross-thread state leakage in Rack environment matches
- assert mutating extracted route parameters does not corrupt subsequent or concurrent params calls on the same pattern instance
Dateien
- Gemfile
- NOTES.md
- csx.json
- src/routing_service.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