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

ruby-grape / grape / 30239089784 / 30
97%
master: 97%

Build:
Build:
LAST BUILD BRANCH: fix/adversarial-sweep-2026-08
DEFAULT BRANCH: master
Ran 27 Jul 2026 05:15AM UTC
Files 167
Run time 6s
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

27 Jul 2026 05:12AM UTC coverage: 95.561% (+0.006%) from 95.555%
30239089784.30

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

1165 of 1280 branches covered (91.02%)

Branch coverage included in aggregate %.

3765 of 3879 relevant lines covered (97.06%)

1073.41 hits per line

Source Files on job run-3.4-gemfiles/rack_3_1.gemfile - 30239089784.30
  • 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 30239089784
  • 5401b583 on github
  • Prev Job for on fix-router-cascade-sibling-routes (#30238951520.29)
  • Next Job for on fix-router-cascade-sibling-routes (#30239832808.7)
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