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

ruby-grape / grape / 26338323231 / 17
97%
master: 97%

Build:
Build:
LAST BUILD BRANCH: fix/recompile-settings-mutation-race
DEFAULT BRANCH: master
Ran 23 May 2026 04:54PM UTC
Files 163
Run time 7s
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

23 May 2026 04:52PM UTC coverage: 95.733% (+0.002%) from 95.731%
26338323231.17

Pull #2738

github

ericproulx
Skip redundant `GRAPE_ROUTING_ARGS` rewrite when route has no params to merge

`Router#process_route` previously did:

  args = env[Grape::Env::GRAPE_ROUTING_ARGS] || { route_info: route }
  route_params = route.params(input)
  env[Grape::Env::GRAPE_ROUTING_ARGS] = route_params.blank? ? args : args.merge(route_params)

When `env[GRAPE_ROUTING_ARGS]` was already set and `route_params` was
blank, the ternary returned `args` unchanged and we wrote the same Hash
back to env — a no-op assignment on every cascade match through a route
with no URL placeholders (the common case).

Switch to `||=` for the default, and only re-assign env when there are
new params to merge. Same observable behavior; one fewer env write per
no-param route match.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Pull Request #2738: Skip redundant GRAPE_ROUTING_ARGS rewrite when route has no params to merge

1064 of 1173 branches covered (90.71%)

Branch coverage included in aggregate %.

3490 of 3584 relevant lines covered (97.38%)

991.39 hits per line

Source Files on job run-3.2-gemfiles/rack_3_0.gemfile - 26338323231.17
  • Tree
  • List 163
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 26338323231
  • 7f88b2ad on github
  • Prev Job for on perf/skip-redundant-routing-args-write (#26292056269.17)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc