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

ruby-grape / grape / 35998836533
100%
master: 100%

Build:
Build:
LAST BUILD BRANCH: benchmark/grape-on-rack
DEFAULT BRANCH: master
Ran 24 Sep 2026 12:24PM UTC
Jobs 32
Files 168
Run time 2min
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

24 Sep 2026 12:24PM UTC coverage: 100.0%. Remained the same
35998836533

Pull #3007

github

ericproulx
Reserve blank? and present? for outside input

`blank?` answers loosely -- nil, false, an empty collection and a
whitespace-only String all count as blank. That is what request data
and values a developer hands over need, as their type is not known.
Grape's own values do have a known type, and `blank?` hid it: whether
nil was possible, whether the collection could be empty, or that the
value was a Class, for which `present?` costs a `respond_to?` miss.

Those sites now ask exactly what the value can be:

- `empty?` for a collection that is never nil: the filter and
  validation stacks, `stacked` results, `**route_options`, the renamed
  params table, the params a `given` dependency filtered
- `nil? || empty?` where nil is a real state: versions, a scope's own
  setting store, the middleware's headers, a route's path input
- truthiness for an object or nil: the entity class, a parent scope,
  the named params, route requirements, routing args, the allowed
  methods, a mount path

Behaviour is unchanged: each check is exact for what reaches it.

Every `blank?` and `present?` left is on outside input, so they are the
places to check for scrubbing, as a `blank?` on a raw request String
raises on an invalid byte (#3006). AGENTS.md now states the rule.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Pull Request #3007: Reserve blank? and present? for outside input

1490 of 1490 branches covered (100.0%)

Branch coverage included in aggregate %.

29 of 29 new or added lines in 14 files covered. (100.0%)

4326 of 4326 relevant lines covered (100.0%)

29281.85 hits per line

Jobs
ID Job ID Ran Files Coverage
1 run-3.3-gemfiles/rack_2_2.gemfile - 35998836533.1 24 Sep 2026 12:25PM UTC 167
98.79
GitHub Action Run
2 run-3.3-gemfiles/rails_8_1.gemfile - 35998836533.2 24 Sep 2026 12:25PM UTC 168
98.83
GitHub Action Run
3 run-4.0-gemfiles/rack_3_0.gemfile - 35998836533.3 24 Sep 2026 12:24PM UTC 167
98.81
GitHub Action Run
4 run-4.0-gemfiles/multi_xml.gemfile - 35998836533.4 24 Sep 2026 12:25PM UTC 166
45.82
GitHub Action Run
5 run-4.0-gemfiles/rack_2_2.gemfile - 35998836533.5 24 Sep 2026 12:25PM UTC 167
98.78
GitHub Action Run
6 run-4.0-gemfiles/rack_3_2.gemfile - 35998836533.6 24 Sep 2026 12:24PM UTC 167
98.81
GitHub Action Run
7 run-3.4-Gemfile - 35998836533.7 24 Sep 2026 12:25PM UTC 167
98.81
GitHub Action Run
8 run-4.0-gemfiles/multi_xml_0_8.gemfile - 35998836533.8 24 Sep 2026 12:25PM UTC 166
45.85
GitHub Action Run
9 run-3.4-gemfiles/rack_2_2.gemfile - 35998836533.9 24 Sep 2026 12:24PM UTC 167
98.78
GitHub Action Run
10 run-4.0-gemfiles/rails_8_0.gemfile - 35998836533.10 24 Sep 2026 12:26PM UTC 168
98.81
GitHub Action Run
11 run-4.0-gemfiles/rails_8_1.gemfile - 35998836533.11 24 Sep 2026 12:25PM UTC 168
98.81
GitHub Action Run
12 run-4.0-gemfiles/rails_7_2.gemfile - 35998836533.12 24 Sep 2026 12:25PM UTC 168
98.81
GitHub Action Run
13 run-4.0-gemfiles/hashie.gemfile - 35998836533.13 24 Sep 2026 12:25PM UTC 166
60.13
GitHub Action Run
14 run-3.3-gemfiles/rack_3_0.gemfile - 35998836533.14 24 Sep 2026 12:25PM UTC 167
98.83
GitHub Action Run
15 run-4.0-gemfiles/dry_validation.gemfile - 35998836533.15 24 Sep 2026 12:25PM UTC 166
56.07
GitHub Action Run
16 run-3.4-gemfiles/rails_7_2.gemfile - 35998836533.16 24 Sep 2026 12:25PM UTC 168
98.81
GitHub Action Run
17 run-3.3-gemfiles/rack_3_2.gemfile - 35998836533.17 24 Sep 2026 12:25PM UTC 167
98.83
GitHub Action Run
18 run-3.3-Gemfile - 35998836533.18 24 Sep 2026 12:26PM UTC 167
98.83
GitHub Action Run
19 run-4.0-gemfiles/grape_swagger.gemfile - 35998836533.19 24 Sep 2026 12:26PM UTC 166
53.46
GitHub Action Run
20 run-4.0-gemfiles/multi_json.gemfile - 35998836533.20 24 Sep 2026 12:26PM UTC 166
46.13
GitHub Action Run
21 run-3.3-gemfiles/rails_8_0.gemfile - 35998836533.21 24 Sep 2026 12:25PM UTC 168
98.83
GitHub Action Run
22 run-3.4-gemfiles/rails_8_0.gemfile - 35998836533.22 24 Sep 2026 12:25PM UTC 168
98.81
GitHub Action Run
23 run-3.4-gemfiles/rack_3_1.gemfile - 35998836533.23 24 Sep 2026 12:25PM UTC 167
98.81
GitHub Action Run
24 run-4.0-gemfiles/multi_json_1_20.gemfile - 35998836533.24 24 Sep 2026 12:25PM UTC 166
46.16
GitHub Action Run
25 run-3.4-gemfiles/rails_8_1.gemfile - 35998836533.25 24 Sep 2026 12:25PM UTC 168
98.81
GitHub Action Run
26 run-4.0-gemfiles/grape_entity.gemfile - 35998836533.26 24 Sep 2026 12:26PM UTC 166
48.91
GitHub Action Run
27 run-4.0-Gemfile - 35998836533.27 24 Sep 2026 12:25PM UTC 167
98.81
GitHub Action Run
28 run-4.0-gemfiles/rack_3_1.gemfile - 35998836533.28 24 Sep 2026 12:25PM UTC 167
98.81
GitHub Action Run
29 run-3.3-gemfiles/rack_3_1.gemfile - 35998836533.29 24 Sep 2026 12:25PM UTC 167
98.83
GitHub Action Run
30 run-3.4-gemfiles/rack_3_2.gemfile - 35998836533.30 24 Sep 2026 12:24PM UTC 167
98.81
GitHub Action Run
31 run-3.3-gemfiles/rails_7_2.gemfile - 35998836533.31 24 Sep 2026 12:25PM UTC 168
98.83
GitHub Action Run
32 run-3.4-gemfiles/rack_3_0.gemfile - 35998836533.32 24 Sep 2026 12:25PM UTC 167
98.81
GitHub Action Run
Source Files on build 35998836533
  • Tree
  • List 168
  • Changed 14
  • Source Changed 14
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #35998836533
  • Pull Request #3007
  • PR Base - master (#35996772782)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc