Commit 4d4b5d1
Always format JSON via Grape::Json.dump
Grape::Formatter::Json and Grape::Formatter::SerializableHash
short-circuited to object.to_json whenever the object responded to it.
Since nearly every object responds to to_json, Grape::Json.dump was
effectively never reached and a configured multi_json back-end (e.g. oj)
was bypassed during formatting.
Remove the to_json short-circuit so both formatters always serialize
through Grape::Json.dump, honoring the JSON back-end consistently with
Grape::ErrorFormatter::Json and Grape::Parser::Json.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent 6995daf commit 4d4b5d1
5 files changed
Lines changed: 10 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3160 | 3160 | | |
3161 | 3161 | | |
3162 | 3162 | | |
3163 | | - | |
| 3163 | + | |
3164 | 3164 | | |
3165 | 3165 | | |
3166 | 3166 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
4 | 12 | | |
5 | 13 | | |
6 | 14 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
8 | | - | |
9 | 7 | | |
10 | 8 | | |
11 | 9 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
11 | 10 | | |
12 | 11 | | |
13 | 12 | | |
| |||
0 commit comments