• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ruby-grape / grape / 30218074287 / 8
97%
master: 97%

Build:
Build:
LAST BUILD BRANCH: fix/adversarial-sweep-2026-08
DEFAULT BRANCH: master
Ran 26 Jul 2026 08:03PM UTC
Files 167
Run time 5s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

26 Jul 2026 08:00PM UTC coverage: 95.494% (+0.007%) from 95.487%
30218074287.8

Pull #2829

github

ericproulx
Let a cascading route hand over to every remaining route

Router#transaction sent a cascading match straight to the greedy
neighbour — the last route registered for the path — and returned its
answer, so any route registered between the first match and that last
one was unreachable. With three mounted API versions plus a catch-all
`route :any, '*path'`, v1 and v3 were served while v2 answered 406; the
shortcut only ever looked correct with exactly two versions, where "the
last route" happens to be the sibling.

Try the method's remaining routes (#rotation) as soon as a match
cascades, before the ANY routes and the greedy neighbour, and keep the
priority order otherwise intact. A consequence, and what cascade: true
means: with a catch-all present, an unmatched version now falls through
to it rather than surfacing the versioner's 406. cascade: false still
answers 406 immediately and never consults the catch-all.

Also close the body of every superseded cascading response — Rack
requires it, and rotation previously leaked them (Rack::Lint flagged
this as soon as a third sibling made the path reachable).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Pull Request #2829: Let a cascading route hand over to every remaining route

1147 of 1264 branches covered (90.74%)

Branch coverage included in aggregate %.

3748 of 3862 relevant lines covered (97.05%)

1077.74 hits per line

Source Files on job run-3.4-gemfiles/rack_2_2.gemfile - 30218074287.8
  • Tree
  • List 167
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 30218074287
  • a3224f0f on github
  • Prev Job for on fix-router-cascade-sibling-routes (#30216088388.30)
  • Next Job for on fix-router-cascade-sibling-routes (#30239089784.11)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc