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

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

Build:
Build:
LAST BUILD BRANCH: fix/error-presenter-desc-failure-keyword
DEFAULT BRANCH: master
Ran 17 Sep 2026 03:54PM 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%
35243163503

Pull #2947

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>
Pull Request #2947: Speed up declared filling in a missing Hash param

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%)

28194.35 hits per line

Jobs
ID Job ID Ran Files Coverage
1 run-3.4-gemfiles/rails_7_2.gemfile - 35243163503.1 17 Sep 2026 03:55PM UTC 170
97.76
GitHub Action Run
2 run-4.0-gemfiles/multi_xml_0_8.gemfile - 35243163503.2 17 Sep 2026 03:54PM UTC 168
45.86
GitHub Action Run
3 run-3.3-gemfiles/rack_3_2.gemfile - 35243163503.3 17 Sep 2026 03:56PM UTC 169
97.77
GitHub Action Run
4 run-3.3-gemfiles/rails_8_1.gemfile - 35243163503.4 17 Sep 2026 03:55PM UTC 170
97.79
GitHub Action Run
5 run-4.0-gemfiles/hashie.gemfile - 35243163503.5 17 Sep 2026 03:55PM UTC 168
59.92
GitHub Action Run
6 run-4.0-gemfiles/rack_2_2.gemfile - 35243163503.6 17 Sep 2026 03:54PM UTC 169
97.74
GitHub Action Run
7 run-3.4-gemfiles/rack_3_1.gemfile - 35243163503.7 17 Sep 2026 03:55PM UTC 169
97.76
GitHub Action Run
8 run-3.4-gemfiles/rack_2_2.gemfile - 35243163503.8 17 Sep 2026 03:55PM UTC 169
97.74
GitHub Action Run
9 run-3.3-gemfiles/rails_7_2.gemfile - 35243163503.9 17 Sep 2026 03:56PM UTC 170
97.78
GitHub Action Run
10 run-3.3-gemfiles/rails_8_0.gemfile - 35243163503.10 17 Sep 2026 03:55PM UTC 170
97.78
GitHub Action Run
11 run-3.4-Gemfile - 35243163503.11 17 Sep 2026 03:54PM UTC 169
97.76
GitHub Action Run
12 run-4.0-gemfiles/multi_json_1_20.gemfile - 35243163503.12 17 Sep 2026 03:55PM UTC 168
46.14
GitHub Action Run
13 run-4.0-gemfiles/rails_8_0.gemfile - 35243163503.13 17 Sep 2026 03:55PM UTC 170
97.76
GitHub Action Run
14 run-4.0-gemfiles/dry_validation.gemfile - 35243163503.14 17 Sep 2026 03:55PM UTC 168
56.18
GitHub Action Run
15 run-4.0-gemfiles/multi_xml.gemfile - 35243163503.15 17 Sep 2026 03:55PM UTC 168
45.83
GitHub Action Run
16 run-4.0-gemfiles/grape_swagger.gemfile - 35243163503.16 17 Sep 2026 03:55PM UTC 168
53.44
GitHub Action Run
17 run-3.4-gemfiles/rack_3_0.gemfile - 35243163503.17 17 Sep 2026 03:55PM UTC 169
97.76
GitHub Action Run
18 run-3.4-gemfiles/rails_8_1.gemfile - 35243163503.18 17 Sep 2026 03:54PM UTC 170
97.76
GitHub Action Run
19 run-4.0-gemfiles/rack_3_2.gemfile - 35243163503.19 17 Sep 2026 03:55PM UTC 169
97.77
GitHub Action Run
20 run-3.3-gemfiles/rack_3_0.gemfile - 35243163503.20 17 Sep 2026 03:55PM UTC 169
97.77
GitHub Action Run
21 run-3.4-gemfiles/rack_3_2.gemfile - 35243163503.21 17 Sep 2026 03:54PM UTC 169
97.76
GitHub Action Run
22 run-4.0-gemfiles/grape_entity.gemfile - 35243163503.22 17 Sep 2026 03:55PM UTC 168
49.02
GitHub Action Run
23 run-3.4-gemfiles/rails_8_0.gemfile - 35243163503.23 17 Sep 2026 03:55PM UTC 170
97.78
GitHub Action Run
24 run-4.0-gemfiles/rack_3_1.gemfile - 35243163503.24 17 Sep 2026 03:55PM UTC 169
97.76
GitHub Action Run
25 run-4.0-gemfiles/rack_3_0.gemfile - 35243163503.25 17 Sep 2026 03:54PM UTC 169
97.76
GitHub Action Run
26 run-3.3-gemfiles/rack_2_2.gemfile - 35243163503.26 17 Sep 2026 03:54PM UTC 169
97.74
GitHub Action Run
27 run-4.0-gemfiles/rails_8_1.gemfile - 35243163503.27 17 Sep 2026 03:55PM UTC 170
97.76
GitHub Action Run
28 run-4.0-Gemfile - 35243163503.28 17 Sep 2026 03:55PM UTC 169
97.76
GitHub Action Run
29 run-3.3-gemfiles/rack_3_1.gemfile - 35243163503.29 17 Sep 2026 03:54PM UTC 169
97.79
GitHub Action Run
30 run-3.3-Gemfile - 35243163503.30 17 Sep 2026 03:55PM UTC 169
97.79
GitHub Action Run
31 run-4.0-gemfiles/multi_json.gemfile - 35243163503.31 17 Sep 2026 03:54PM UTC 168
46.11
GitHub Action Run
32 run-4.0-gemfiles/rails_7_2.gemfile - 35243163503.32 17 Sep 2026 03:55PM UTC 170
97.78
GitHub Action Run
Source Files on build 35243163503
  • 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 #35243163503
  • Pull Request #2947
  • PR Base - master (#35237531125)
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