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

ruby-grape / grape / 25878904332
97%
master: 97%

Build:
Build:
LAST BUILD BRANCH: robust_mounted_app_comparison
DEFAULT BRANCH: master
Ran 14 May 2026 06:48PM UTC
Jobs 37
Files 162
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

14 May 2026 06:47PM UTC coverage: 96.948%. First build
25878904332

Pull #2718

github

ericproulx
Convert Error, Versioner::Base to Options Data; drop OptionsCompat

Building on the merged refactor/version-guard-clause (VersionOptions
Data) and feature/error-formatter-kwargs-2527 (RescueOptions Data),
convert the remaining two middlewares that include
`PrecomputedContentTypes` to per-class `Options = Data.define(...)`:

- Middleware::Error: 14-field Options replacing the 14-line
  DEFAULT_OPTIONS Hash + the 12-line attr_reader / ivar-set initialize
  body. `rescue_options:` defaults to `Grape::DSL::RescueOptions.new`;
  initialize coerces an explicit nil (from
  `Endpoint#error_middleware_options` when no `rescue_from` was called)
  to the default. `Forwardable.def_delegators :options, ...` covers
  every accessor; the existing `def_delegator :rescue_options, :backtrace,
  :include_backtrace` (and `:original_exception`) carry through unchanged.
- Middleware::Versioner::Base: 7-field Options (adds `content_types:` /
  `format:` so the mixin's accessor reads land cleanly). `version_options:`
  defaults to `Grape::DSL::VersionOptions.new`. The four
  `def_delegators :version_options, :cascade, :parameter, :strict, :vendor`
  stay; `mount_path` / `pattern` / `prefix` / `version_options` are now
  delegated via `def_delegators :options, ...`.

With every PrecomputedContentTypes consumer now using an Options Data
class, switch the mixin to accessor reads:

    options.content_types  # was options[:content_types]
    options.format         # was options[:format]

…and delete `Grape::Middleware::OptionsCompat` entirely.

Two supporting tweaks:

- `Middleware::Base#build_options` switches `const_defined?(:Options,
  false)` → `const_defined?(:Options)` so Versioner subclasses
  (`Path`, `Header`, `Param`, `AcceptVersionHeader`) inherit
  `Versioner::Base::Options` without redeclaring it.
- `Middleware::Formatter#read_rack_input` switches `options[:parsers]`
  to the existing `parsers` delegator.

`Filter` and `Auth::Base` / `Auth::*` remain on the legacy
`... (continued)
Pull Request #2718: [DRAFT] Generalize middleware options to per-class Data value objects

1084 of 1169 branches covered (92.73%)

Branch coverage included in aggregate %.

78 of 81 new or added lines in 13 files covered. (96.3%)

3490 of 3549 relevant lines covered (98.34%)

31795.48 hits per line

Uncovered Changes

Lines Coverage ∆ File
3
93.75
lib/grape/middleware/error.rb
Jobs
ID Job ID Ran Files Coverage
1 run-4.0-Gemfile - 25878904332.1 14 May 2026 06:49PM UTC 161
95.65
GitHub Action Run
2 run-3.4-gemfiles/rails_7_2.gemfile - 25878904332.2 14 May 2026 06:49PM UTC 162
95.65
GitHub Action Run
3 run-3.3-gemfiles/rails_7_2.gemfile - 25878904332.3 14 May 2026 06:48PM UTC 162
95.65
GitHub Action Run
4 run-4.0-gemfiles/rack_2_2.gemfile - 25878904332.4 14 May 2026 06:48PM UTC 161
95.61
GitHub Action Run
5 run-4.0-gemfiles/hashie.gemfile - 25878904332.5 14 May 2026 06:48PM UTC 161
62.34
GitHub Action Run
6 run-3.4-gemfiles/rack_3_1.gemfile - 25878904332.6 14 May 2026 06:48PM UTC 161
95.65
GitHub Action Run
7 run-4.0-gemfiles/rails_8_0.gemfile - 25878904332.7 14 May 2026 06:49PM UTC 162
95.65
GitHub Action Run
8 run-3.2-Gemfile - 25878904332.8 14 May 2026 06:48PM UTC 161
95.69
GitHub Action Run
9 run-4.0-gemfiles/multi_xml.gemfile - 25878904332.9 14 May 2026 06:49PM UTC 161
36.69
GitHub Action Run
10 run-3.3-gemfiles/rails_8_1.gemfile - 25878904332.10 14 May 2026 06:48PM UTC 162
95.65
GitHub Action Run
11 run-3.3-gemfiles/rack_3_2.gemfile - 25878904332.11 14 May 2026 06:48PM UTC 161
95.65
GitHub Action Run
12 run-3.4-gemfiles/rails_8_1.gemfile - 25878904332.12 14 May 2026 06:48PM UTC 162
95.65
GitHub Action Run
13 run-3.3-gemfiles/rack_3_0.gemfile - 25878904332.13 14 May 2026 06:48PM UTC 161
95.65
GitHub Action Run
14 run-3.2-gemfiles/rails_7_2.gemfile - 25878904332.14 14 May 2026 06:48PM UTC 162
95.69
GitHub Action Run
15 run-3.2-gemfiles/rack_2_2.gemfile - 25878904332.15 14 May 2026 06:48PM UTC 161
95.65
GitHub Action Run
16 run-3.3-gemfiles/rails_8_0.gemfile - 25878904332.16 14 May 2026 06:48PM UTC 162
95.65
GitHub Action Run
17 run-4.0-gemfiles/rails_8_1.gemfile - 25878904332.17 14 May 2026 06:48PM UTC 162
95.65
GitHub Action Run
18 run-3.2-gemfiles/rails_8_1.gemfile - 25878904332.18 14 May 2026 06:48PM UTC 162
95.69
GitHub Action Run
19 run-4.0-gemfiles/multi_json.gemfile - 25878904332.19 14 May 2026 06:48PM UTC 161
36.69
GitHub Action Run
20 run-3.2-gemfiles/rack_3_2.gemfile - 25878904332.20 14 May 2026 06:49PM UTC 161
95.69
GitHub Action Run
21 run-3.2-gemfiles/rack_3_1.gemfile - 25878904332.21 14 May 2026 06:48PM UTC 161
95.69
GitHub Action Run
22 run-4.0-gemfiles/rack_3_2.gemfile - 25878904332.22 14 May 2026 06:48PM UTC 161
95.65
GitHub Action Run
23 run-3.3-Gemfile - 25878904332.23 14 May 2026 06:49PM UTC 161
95.65
GitHub Action Run
24 run-3.4-gemfiles/rails_8_0.gemfile - 25878904332.24 14 May 2026 06:48PM UTC 162
95.65
GitHub Action Run
25 run-3.4-gemfiles/rack_2_2.gemfile - 25878904332.25 14 May 2026 06:48PM UTC 161
95.61
GitHub Action Run
26 run-3.2-gemfiles/rack_3_0.gemfile - 25878904332.26 14 May 2026 06:48PM UTC 161
95.69
GitHub Action Run
27 run-4.0-gemfiles/grape_entity.gemfile - 25878904332.27 14 May 2026 06:48PM UTC 161
49.96
GitHub Action Run
28 run-3.4-Gemfile - 25878904332.28 14 May 2026 06:49PM UTC 161
95.65
GitHub Action Run
29 run-3.3-gemfiles/rack_2_2.gemfile - 25878904332.29 14 May 2026 06:48PM UTC 161
95.6
GitHub Action Run
30 run-3.2-gemfiles/rails_8_0.gemfile - 25878904332.30 14 May 2026 06:48PM UTC 162
95.69
GitHub Action Run
31 run-4.0-gemfiles/rack_3_1.gemfile - 25878904332.31 14 May 2026 06:49PM UTC 161
95.65
GitHub Action Run
32 run-4.0-gemfiles/rails_7_2.gemfile - 25878904332.32 14 May 2026 06:49PM UTC 162
95.65
GitHub Action Run
33 run-3.3-gemfiles/rack_3_1.gemfile - 25878904332.33 14 May 2026 06:48PM UTC 161
95.65
GitHub Action Run
34 run-4.0-gemfiles/dry_validation.gemfile - 25878904332.34 14 May 2026 06:48PM UTC 161
57.98
GitHub Action Run
35 run-3.4-gemfiles/rack_3_0.gemfile - 25878904332.35 14 May 2026 06:48PM UTC 161
95.65
GitHub Action Run
36 run-3.4-gemfiles/rack_3_2.gemfile - 25878904332.36 14 May 2026 06:48PM UTC 161
95.65
GitHub Action Run
37 run-4.0-gemfiles/rack_3_0.gemfile - 25878904332.37 14 May 2026 06:48PM UTC 161
95.65
GitHub Action Run
Source Files on build 25878904332
  • Tree
  • List 162
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #25878904332
  • Pull Request #2718
  • PR Base - master (#25873678149)
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