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

ruby-grape / grape / 35269842466
99%
master: 100%

Build:
Build:
LAST BUILD BRANCH: feature/strict-params
DEFAULT BRANCH: master
Ran 17 Sep 2026 08:17PM UTC
Jobs 32
Files 170
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

17 Sep 2026 08:16PM UTC coverage: 99.047%. Remained the same
35269842466

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

1427 of 1482 branches covered (96.29%)

Branch coverage included in aggregate %.

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

4290 of 4290 relevant lines covered (100.0%)

28158.74 hits per line

Jobs
ID Job ID Ran Files Coverage
1 run-3.4-gemfiles/rails_7_2.gemfile - 35269842466.1 17 Sep 2026 08:17PM UTC 170
97.85
GitHub Action Run
2 run-3.4-gemfiles/rails_8_0.gemfile - 35269842466.2 17 Sep 2026 08:17PM UTC 170
97.85
GitHub Action Run
3 run-4.0-gemfiles/multi_xml.gemfile - 35269842466.3 17 Sep 2026 08:17PM UTC 168
45.84
GitHub Action Run
4 run-3.4-gemfiles/rack_3_2.gemfile - 35269842466.4 17 Sep 2026 08:17PM UTC 169
97.85
GitHub Action Run
5 run-4.0-gemfiles/hashie.gemfile - 35269842466.5 17 Sep 2026 08:16PM UTC 168
59.91
GitHub Action Run
6 run-4.0-gemfiles/rack_3_1.gemfile - 35269842466.6 17 Sep 2026 08:17PM UTC 169
97.87
GitHub Action Run
7 run-3.3-gemfiles/rack_3_0.gemfile - 35269842466.7 17 Sep 2026 08:17PM UTC 169
97.88
GitHub Action Run
8 run-3.3-gemfiles/rails_8_1.gemfile - 35269842466.8 17 Sep 2026 08:17PM UTC 170
97.89
GitHub Action Run
9 run-3.3-gemfiles/rack_3_2.gemfile - 35269842466.9 17 Sep 2026 08:17PM UTC 169
97.87
GitHub Action Run
10 run-4.0-gemfiles/grape_entity.gemfile - 35269842466.10 17 Sep 2026 08:17PM UTC 168
49.06
GitHub Action Run
11 run-4.0-gemfiles/rails_8_1.gemfile - 35269842466.11 17 Sep 2026 08:17PM UTC 170
97.85
GitHub Action Run
12 run-3.4-gemfiles/rack_3_0.gemfile - 35269842466.12 17 Sep 2026 08:17PM UTC 169
97.85
GitHub Action Run
13 run-4.0-gemfiles/rack_3_0.gemfile - 35269842466.13 17 Sep 2026 08:17PM UTC 169
97.85
GitHub Action Run
14 run-3.3-Gemfile - 35269842466.14 17 Sep 2026 08:17PM UTC 169
97.88
GitHub Action Run
15 run-4.0-gemfiles/rails_8_0.gemfile - 35269842466.15 17 Sep 2026 08:17PM UTC 170
97.87
GitHub Action Run
16 run-3.3-gemfiles/rack_2_2.gemfile - 35269842466.16 17 Sep 2026 08:17PM UTC 169
97.83
GitHub Action Run
17 run-4.0-gemfiles/rack_3_2.gemfile - 35269842466.17 17 Sep 2026 08:17PM UTC 169
97.85
GitHub Action Run
18 run-3.4-gemfiles/rack_3_1.gemfile - 35269842466.18 17 Sep 2026 08:17PM UTC 169
97.85
GitHub Action Run
19 run-4.0-Gemfile - 35269842466.19 17 Sep 2026 08:17PM UTC 169
97.85
GitHub Action Run
20 run-4.0-gemfiles/multi_json.gemfile - 35269842466.20 17 Sep 2026 08:16PM UTC 168
46.11
GitHub Action Run
21 run-3.4-Gemfile - 35269842466.21 17 Sep 2026 08:17PM UTC 169
97.87
GitHub Action Run
22 run-4.0-gemfiles/grape_swagger.gemfile - 35269842466.22 17 Sep 2026 08:17PM UTC 168
53.43
GitHub Action Run
23 run-3.4-gemfiles/rails_8_1.gemfile - 35269842466.23 17 Sep 2026 08:17PM UTC 170
97.85
GitHub Action Run
24 run-3.4-gemfiles/rack_2_2.gemfile - 35269842466.24 17 Sep 2026 08:17PM UTC 169
97.81
GitHub Action Run
25 run-3.3-gemfiles/rack_3_1.gemfile - 35269842466.25 17 Sep 2026 08:17PM UTC 169
97.88
GitHub Action Run
26 run-4.0-gemfiles/multi_xml_0_8.gemfile - 35269842466.26 17 Sep 2026 08:17PM UTC 168
45.87
GitHub Action Run
27 run-3.3-gemfiles/rails_8_0.gemfile - 35269842466.27 17 Sep 2026 08:17PM UTC 170
97.89
GitHub Action Run
28 run-4.0-gemfiles/dry_validation.gemfile - 35269842466.28 17 Sep 2026 08:17PM UTC 168
56.18
GitHub Action Run
29 run-4.0-gemfiles/rack_2_2.gemfile - 35269842466.29 17 Sep 2026 08:17PM UTC 169
97.83
GitHub Action Run
30 run-4.0-gemfiles/multi_json_1_20.gemfile - 35269842466.30 17 Sep 2026 08:17PM UTC 168
46.15
GitHub Action Run
31 run-4.0-gemfiles/rails_7_2.gemfile - 35269842466.31 17 Sep 2026 08:17PM UTC 170
97.87
GitHub Action Run
32 run-3.3-gemfiles/rails_7_2.gemfile - 35269842466.32 17 Sep 2026 08:17PM UTC 170
97.87
GitHub Action Run
Source Files on build 35269842466
  • Tree
  • List 170
  • Changed 4
  • Source Changed 3
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #35269842466
  • Pull Request #2947
  • PR Base - master (#35269747347)
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