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

ruby-grape / grape / 27497052435 / 16
97%
master: 97%

Build:
Build:
LAST BUILD BRANCH: perf/build-headers-each-header
DEFAULT BRANCH: master
Ran 14 Jun 2026 11:15AM UTC
Files 167
Run time 5s
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 Jun 2026 11:14AM UTC coverage: 95.164% (-0.3%) from 95.437%
27497052435.16

Pull #2764

github

ericproulx
Route Grape::Json through the non-deprecated MultiJSON API

multi_json 1.21.0 deprecated the `MultiJson` constant (in favor of
`MultiJSON`) and `MultiJSON.dump` (in favor of `generate`), removed in
2.0. Grape detected the backend via `::MultiJson` and called `dump`, so
users on multi_json >= 1.21 saw deprecation warnings (#2763).

Detect `::MultiJSON` and give `Grape::Json` a small facade whose `dump`
delegates to `MultiJSON.generate` (byte-identical output), re-exposing
`parse` since the facade no longer inherits MultiJSON's methods. Behavior
is unchanged; the stdlib fallback is untouched.

Following #2762 (Grape standardizes on `parse`, never `load`, for JSON),
the two remaining `Grape::Json.load` spec helpers move to `parse`, so
`Grape::Json.load` no longer appears anywhere and the facade needs no
`load`.

Also give the legacy multi_json (< 1.21) branch the same facade treatment
mapping dump/parse onto the dump/load it exposes — it has no generate/parse,
so `Grape::Json.parse` would otherwise raise NoMethodError there.

Cover both backends in CI: pin gemfiles/multi_json.gemfile to >= 1.21 and
add gemfiles/multi_json_1_20.gemfile (< 1.21), each running the
spec/integration/multi_json suite. The integration spec keys off the
`MultiJson` constant (defined on both lines) and drives a real Grape API
through the parser and JSON formatter.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Pull Request #2764: Route Grape::Json through the non-deprecated MultiJSON API

1099 of 1221 branches covered (90.01%)

Branch coverage included in aggregate %.

3525 of 3638 relevant lines covered (96.89%)

958.95 hits per line

Source Files on job run-3.3-gemfiles/rails_8_0.gemfile - 27497052435.16
  • Tree
  • List 167
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 27497052435
  • 39422f99 on github
  • Prev Job for on fix/2763-multijson-deprecations (#27449980546.22)
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