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

ruby-grape / grape / 33962732647
97%
master: 99%

Build:
Build:
LAST BUILD BRANCH: benchmark/perf-2917-2918
DEFAULT BRANCH: master
Ran 05 Sep 2026 11:13AM UTC
Jobs 32
Files 169
Run time 1min
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

05 Sep 2026 11:12AM UTC coverage: 97.157% (+0.005%) from 97.152%
33962732647

push

github

ericproulx
Nest any route_param requirement, and reject the shapes with no param to attach to

`route_param` nested a lone `requirements:` under the param name only when it
was a Regexp — the shorthand as it was written in 2013, when a Regexp was the
only kind of constraint there was. Anything else, such as the capture types
Mustermann derives from a Class or a Symbol, travelled unwrapped into
`Endpoint#prepare_routes_requirements`, which merges the requirement Hashes of
the namespaces a route sits in, and raised `TypeError: no implicit conversion
of Class into Hash` there. That merge runs when routes are built, so a mistake
in the API's definition surfaced on the first request, from a method that
names neither the route nor the requirement.

Nesting the constraint is what `route_param` is for, so it now nests whatever
it is given. A Hash is refused: keyed by this param it names it twice, and
keyed by another it constrains a capture the namespace does not introduce,
which Mustermann resolves to no constraint at all. Requirements keyed by name
belong on `namespace`, which is also where they are merged.

`namespace` and an endpoint have the opposite constraint — a path can carry
several captures, so there is no param a lone constraint could attach to — and
now reject a non-Hash `requirements` where it is written.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

1245 of 1334 branches covered (93.33%)

Branch coverage included in aggregate %.

7 of 7 new or added lines in 1 file covered. (100.0%)

3950 of 4013 relevant lines covered (98.43%)

27222.65 hits per line

Jobs
ID Job ID Ran Files Coverage
1 run-4.0-gemfiles/rack_3_2.gemfile - 33962732647.1 05 Sep 2026 11:14AM UTC 168
95.92
GitHub Action Run
2 run-4.0-gemfiles/multi_json.gemfile - 33962732647.2 05 Sep 2026 11:13AM UTC 167
47.56
GitHub Action Run
3 run-3.3-gemfiles/rack_3_2.gemfile - 33962732647.3 05 Sep 2026 11:13AM UTC 168
95.92
GitHub Action Run
4 run-3.4-gemfiles/rack_2_2.gemfile - 33962732647.4 05 Sep 2026 11:15AM UTC 168
95.88
GitHub Action Run
5 run-4.0-gemfiles/grape_entity.gemfile - 33962732647.5 05 Sep 2026 11:13AM UTC 167
50.35
GitHub Action Run
6 run-4.0-gemfiles/rails_8_0.gemfile - 33962732647.6 05 Sep 2026 11:15AM UTC 169
95.92
GitHub Action Run
7 run-3.4-gemfiles/rails_8_0.gemfile - 33962732647.7 05 Sep 2026 11:15AM UTC 169
95.92
GitHub Action Run
8 run-3.3-Gemfile - 33962732647.8 05 Sep 2026 11:15AM UTC 168
95.92
GitHub Action Run
9 run-4.0-gemfiles/rails_8_1.gemfile - 33962732647.9 05 Sep 2026 11:14AM UTC 169
95.92
GitHub Action Run
10 run-4.0-gemfiles/rack_3_0.gemfile - 33962732647.10 05 Sep 2026 11:15AM UTC 168
95.92
GitHub Action Run
11 run-4.0-Gemfile - 33962732647.11 05 Sep 2026 11:15AM UTC 168
95.92
GitHub Action Run
12 run-3.4-gemfiles/rack_3_0.gemfile - 33962732647.12 05 Sep 2026 11:15AM UTC 168
95.92
GitHub Action Run
13 run-4.0-gemfiles/multi_json_1_20.gemfile - 33962732647.13 05 Sep 2026 11:14AM UTC 167
47.6
GitHub Action Run
14 run-4.0-gemfiles/hashie.gemfile - 33962732647.14 05 Sep 2026 11:13AM UTC 167
61.83
GitHub Action Run
15 run-4.0-gemfiles/rails_7_2.gemfile - 33962732647.15 05 Sep 2026 11:14AM UTC 169
95.92
GitHub Action Run
16 run-4.0-gemfiles/dry_validation.gemfile - 33962732647.16 05 Sep 2026 11:13AM UTC 167
57.84
GitHub Action Run
17 run-3.3-gemfiles/rack_2_2.gemfile - 33962732647.17 05 Sep 2026 11:14AM UTC 168
95.88
GitHub Action Run
18 run-3.3-gemfiles/rails_8_0.gemfile - 33962732647.18 05 Sep 2026 11:15AM UTC 169
95.92
GitHub Action Run
19 run-3.4-gemfiles/rack_3_2.gemfile - 33962732647.19 05 Sep 2026 11:15AM UTC 168
95.92
GitHub Action Run
20 run-3.3-gemfiles/rails_7_2.gemfile - 33962732647.20 05 Sep 2026 11:15AM UTC 169
95.92
GitHub Action Run
21 run-3.3-gemfiles/rack_3_0.gemfile - 33962732647.21 05 Sep 2026 11:14AM UTC 168
95.92
GitHub Action Run
22 run-4.0-gemfiles/rack_2_2.gemfile - 33962732647.22 05 Sep 2026 11:14AM UTC 168
95.88
GitHub Action Run
23 run-3.4-gemfiles/rack_3_1.gemfile - 33962732647.23 05 Sep 2026 11:15AM UTC 168
95.92
GitHub Action Run
24 run-4.0-gemfiles/grape_swagger.gemfile - 33962732647.24 05 Sep 2026 11:14AM UTC 167
55.28
GitHub Action Run
25 run-3.3-gemfiles/rails_8_1.gemfile - 33962732647.25 05 Sep 2026 11:14AM UTC 169
95.92
GitHub Action Run
26 run-3.4-gemfiles/rails_8_1.gemfile - 33962732647.26 05 Sep 2026 11:15AM UTC 169
95.92
GitHub Action Run
27 run-3.3-gemfiles/rack_3_1.gemfile - 33962732647.27 05 Sep 2026 11:15AM UTC 168
95.92
GitHub Action Run
28 run-4.0-gemfiles/rack_3_1.gemfile - 33962732647.28 05 Sep 2026 11:15AM UTC 168
95.92
GitHub Action Run
29 run-4.0-gemfiles/multi_xml_0_8.gemfile - 33962732647.29 05 Sep 2026 11:13AM UTC 167
47.09
GitHub Action Run
30 run-3.4-Gemfile - 33962732647.30 05 Sep 2026 11:15AM UTC 168
95.92
GitHub Action Run
31 run-3.4-gemfiles/rails_7_2.gemfile - 33962732647.31 05 Sep 2026 11:16AM UTC 169
95.92
GitHub Action Run
32 run-4.0-gemfiles/multi_xml.gemfile - 33962732647.32 05 Sep 2026 11:13AM UTC 167
47.06
GitHub Action Run
Source Files on build 33962732647
  • Tree
  • List 169
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #33962732647
  • 1d321652 on github
  • Prev Build on document-typed-route-requirements (#33962721300)
  • Next Build on route-param-bare-requirements (#33962750950)
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