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

ruby-grape / grape / 35243147568
99%
master: 99%

Build:
Build:
LAST BUILD BRANCH: fix/error-presenter-desc-failure-keyword
DEFAULT BRANCH: master
Ran 17 Sep 2026 03:53PM UTC
Jobs 32
Files 170
Run time 2min
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

17 Sep 2026 03:53PM UTC coverage: 99.062% (+0.8%) from 98.297%
35243147568

push

github

ericproulx
Speed up declared filling in a missing Hash param

When `declared(params)` fills in a Hash-typed param the request left out,
it answers `{}` unless the route declares a child of it, and it looked for
one by interpolating `"#{key}["` inside the `none?` block: a new String
for every param on the route. The prefix is now built once and passed to
the check. Its `k != key` guard is dropped too -- a key that starts with
`"#{key}["` is longer than `key`, so it never equals it.

On a request to a route with 19 optional String params and a Hash param,
sending only one of them, this takes 123 -> 105 objects per request and
is +3.8% without a JIT, +6.3% with YJIT; with 49 String params,
243 -> 195 objects and +4.4% / +8.9%.

Two same-shape cleanups on route compilation, with no throughput effect:
`routes` uses `flat_map` (`Endpoint#routes` is already flat), and a
route's requirements are merged into one Hash with `merge!` instead of a
fresh Hash per namespace.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>

1424 of 1478 branches covered (96.35%)

Branch coverage included in aggregate %.

5 of 5 new or added lines in 3 files covered. (100.0%)

4280 of 4280 relevant lines covered (100.0%)

28189.84 hits per line

Jobs
ID Job ID Ran Files Coverage
1 run-3.4-Gemfile - 35243147568.1 17 Sep 2026 03:53PM UTC 169
97.76
GitHub Action Run
2 run-4.0-gemfiles/grape_entity.gemfile - 35243147568.2 17 Sep 2026 03:54PM UTC 168
49.02
GitHub Action Run
3 run-4.0-gemfiles/dry_validation.gemfile - 35243147568.3 17 Sep 2026 03:54PM UTC 168
56.18
GitHub Action Run
4 run-4.0-gemfiles/grape_swagger.gemfile - 35243147568.4 17 Sep 2026 03:53PM UTC 168
53.44
GitHub Action Run
5 run-3.3-gemfiles/rack_3_1.gemfile - 35243147568.5 17 Sep 2026 03:54PM UTC 169
97.79
GitHub Action Run
6 run-4.0-gemfiles/rails_7_2.gemfile - 35243147568.6 17 Sep 2026 03:53PM UTC 170
97.76
GitHub Action Run
7 run-3.4-gemfiles/rack_2_2.gemfile - 35243147568.7 17 Sep 2026 03:53PM UTC 169
97.74
GitHub Action Run
8 run-3.4-gemfiles/rails_8_0.gemfile - 35243147568.8 17 Sep 2026 03:54PM UTC 170
97.76
GitHub Action Run
9 run-3.3-Gemfile - 35243147568.9 17 Sep 2026 03:53PM UTC 169
97.79
GitHub Action Run
10 run-3.3-gemfiles/rails_8_0.gemfile - 35243147568.10 17 Sep 2026 03:53PM UTC 170
97.78
GitHub Action Run
11 run-4.0-gemfiles/multi_xml_0_8.gemfile - 35243147568.11 17 Sep 2026 03:54PM UTC 168
45.86
GitHub Action Run
12 run-3.3-gemfiles/rails_8_1.gemfile - 35243147568.12 17 Sep 2026 03:54PM UTC 170
97.79
GitHub Action Run
13 run-4.0-gemfiles/multi_json.gemfile - 35243147568.13 17 Sep 2026 03:53PM UTC 168
46.11
GitHub Action Run
14 run-3.3-gemfiles/rack_3_2.gemfile - 35243147568.14 17 Sep 2026 03:53PM UTC 169
97.77
GitHub Action Run
15 run-4.0-gemfiles/rails_8_0.gemfile - 35243147568.15 17 Sep 2026 03:54PM UTC 170
97.78
GitHub Action Run
16 run-4.0-Gemfile - 35243147568.16 17 Sep 2026 03:53PM UTC 169
97.77
GitHub Action Run
17 run-4.0-gemfiles/multi_json_1_20.gemfile - 35243147568.17 17 Sep 2026 03:53PM UTC 168
46.14
GitHub Action Run
18 run-3.4-gemfiles/rack_3_1.gemfile - 35243147568.18 17 Sep 2026 03:54PM UTC 169
97.76
GitHub Action Run
19 run-3.4-gemfiles/rails_7_2.gemfile - 35243147568.19 17 Sep 2026 03:54PM UTC 170
97.76
GitHub Action Run
20 run-3.3-gemfiles/rack_2_2.gemfile - 35243147568.20 17 Sep 2026 03:53PM UTC 169
97.76
GitHub Action Run
21 run-4.0-gemfiles/multi_xml.gemfile - 35243147568.21 17 Sep 2026 03:53PM UTC 168
45.83
GitHub Action Run
22 run-3.4-gemfiles/rails_8_1.gemfile - 35243147568.22 17 Sep 2026 03:53PM UTC 170
97.76
GitHub Action Run
23 run-4.0-gemfiles/rack_3_1.gemfile - 35243147568.23 17 Sep 2026 03:54PM UTC 169
97.76
GitHub Action Run
24 run-4.0-gemfiles/rack_3_2.gemfile - 35243147568.24 17 Sep 2026 03:53PM UTC 169
97.76
GitHub Action Run
25 run-4.0-gemfiles/rails_8_1.gemfile - 35243147568.25 17 Sep 2026 03:54PM UTC 170
97.78
GitHub Action Run
26 run-4.0-gemfiles/hashie.gemfile - 35243147568.26 17 Sep 2026 03:54PM UTC 168
59.92
GitHub Action Run
27 run-4.0-gemfiles/rack_2_2.gemfile - 35243147568.27 17 Sep 2026 03:53PM UTC 169
97.72
GitHub Action Run
28 run-3.3-gemfiles/rack_3_0.gemfile - 35243147568.28 17 Sep 2026 03:54PM UTC 169
97.77
GitHub Action Run
29 run-4.0-gemfiles/rack_3_0.gemfile - 35243147568.29 17 Sep 2026 03:54PM UTC 169
97.76
GitHub Action Run
30 run-3.4-gemfiles/rack_3_0.gemfile - 35243147568.30 17 Sep 2026 03:53PM UTC 169
97.77
GitHub Action Run
31 run-3.4-gemfiles/rack_3_2.gemfile - 35243147568.31 17 Sep 2026 03:54PM UTC 169
97.77
GitHub Action Run
32 run-3.3-gemfiles/rails_7_2.gemfile - 35243147568.32 17 Sep 2026 03:53PM UTC 170
97.78
GitHub Action Run
Source Files on build 35243147568
  • Tree
  • List 170
  • Changed 154
  • Source Changed 3
  • Coverage Changed 154
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #35243147568
  • 3e2d9bfb on github
  • Prev Build on master (#35237531125)
  • Next Build on perf/declared-missing-hash-param (#35243163503)
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