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

ruby-grape / grape / 28746672698 / 4
97%
master: 97%

Build:
DEFAULT BRANCH: master
Ran 05 Jul 2026 04:04PM UTC
Files 166
Run time 10s
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 Jul 2026 04:03PM UTC coverage: 95.183% (+0.03%) from 95.157%
28746672698.4

push

github

web-flow
Land #2775–#2779 on master (stacked-merge recovery) (#2780)

* Pass http_methods to Grape::Endpoint as a keyword instead of via options

`method` was pulled out of the endpoint's `**options` Hash, normalized in
place (`@options[:method] = Array(...)`), and renamed to `http_methods` on
the `Options` value object purely to dodge the `Object#method` shadow on
the generated Data accessor.

Expose it directly as a required `http_methods:` keyword on
`Grape::Endpoint#initialize` and pass it straight into `Options`, whose
field is now genuinely named `http_methods` (no rename, no shadow). The
value stays in `config` so endpoint equality — `config == other.config`,
which keeps same-path/different-verb endpoints distinct — is unchanged.

The endpoint's public `options` Hash no longer carries the redundant
`:method` entry; nothing read it, and grape-swagger reads the verb from
`route.request_method`. Documented in UPGRADING.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Pass path to Grape::Endpoint as a keyword instead of via options

`path` was pulled from the endpoint's `**options` Hash and normalized in
place (`@options[:path] = Array(...)`), duplicating the normalization
`Options` already does.

Expose it as a required `path:` keyword on `Grape::Endpoint#initialize`
and pass it straight into `Options`, which stays the single normalized
source of truth. `path` remains in `config` because it is load-bearing
for route building (`config.path`) and for endpoint equality
(`config == other.config`, which keeps same-path/different-verb endpoints
distinct).

The endpoint's public `options` Hash no longer carries `:path`. Its only
reader was an internal test; `route.path` (the compiled pattern) is the
public path API and is what grape-swagger already uses. Documented in
UPGRADING.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Add mounted_app reader and app: keyword to Grape::Endpoint

`app` (the Rack app or Grape ... (continued)

1104 of 1224 branches covered (90.2%)

Branch coverage included in aggregate %.

3540 of 3655 relevant lines covered (96.85%)

974.99 hits per line

Source Files on job run-4.0-gemfiles/rack_3_2.gemfile - 28746672698.4
  • Tree
  • List 166
  • Changed 7
  • Source Changed 7
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 28746672698
  • ab000ef6 on github
  • Prev Job for on master (#28743926364.21)
  • Next Job for on master (#28747175440.27)
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