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

ruby-grape / grape / 34586529390
99%
master: 99%

Build:
Build:
LAST BUILD BRANCH: docs/readme-param-version-and-415
DEFAULT BRANCH: master
Ran 11 Sep 2026 09:54AM UTC
Jobs 32
Files 169
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

11 Sep 2026 09:53AM UTC coverage: 99.155% (-0.03%) from 99.186%
34586529390

Pull #2933

github

ericproulx
Validate the elements of an Array params scope without the attributes iterator

A validator on `requires :items, type: Array do ... end` (or `optional`)
went through the AttributesIterator for every element: an index
bookkeeping call, a yield per attribute, an emptiness test, and per
attribute the scope's `required?` and `meets_dependency?`. When the scope
depends on no other param, every scope above it is always validated, and
it is the only one on the chain that iterates elements, those answers are
fixed: its params are the request's Array as it came in, and the iterator
only contributes the element index the error names carry and, for an
optional scope, passing over empty elements.

`Validators::Base#validate_elements!` covers that case the way #2927's
`validate_attributes!` covers a Hash scope. `ParamsScope#validated_when_given?`
names the condition, and `always_validated?` is that plus being required;
a required scope like that also skips `should_validate?`, which always
answers true for it. Nested Array scopes and `given` blocks keep the
iterator.

Adds three specs for behaviour nothing pinned, each found by a mutation
that passed the suite: an optional Array scope skips its empty elements,
it is not validated at all when every element is blank, and a Hash scope
given an Array reports only itself, not the optional Array scope inside.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Pull Request #2933: Validate the elements of an Array params scope without the attributes iterator

1328 of 1374 branches covered (96.65%)

Branch coverage included in aggregate %.

23 of 23 new or added lines in 2 files covered. (100.0%)

4070 of 4070 relevant lines covered (100.0%)

26888.74 hits per line

Jobs
ID Job ID Ran Files Coverage
1 run-3.4-gemfiles/rails_8_1.gemfile - 34586529390.1 11 Sep 2026 09:54AM UTC 169
97.87
GitHub Action Run
2 run-4.0-gemfiles/multi_json_1_20.gemfile - 34586529390.2 11 Sep 2026 09:54AM UTC 167
46.99
GitHub Action Run
3 run-3.4-Gemfile - 34586529390.3 11 Sep 2026 09:54AM UTC 168
97.85
GitHub Action Run
4 run-3.3-gemfiles/rack_3_1.gemfile - 34586529390.4 11 Sep 2026 09:54AM UTC 168
97.87
GitHub Action Run
5 run-4.0-gemfiles/multi_json.gemfile - 34586529390.5 11 Sep 2026 09:54AM UTC 167
46.95
GitHub Action Run
6 run-4.0-Gemfile - 34586529390.6 11 Sep 2026 09:54AM UTC 168
97.87
GitHub Action Run
7 run-3.4-gemfiles/rack_3_1.gemfile - 34586529390.7 11 Sep 2026 09:54AM UTC 168
97.85
GitHub Action Run
8 run-3.4-gemfiles/rack_2_2.gemfile - 34586529390.8 11 Sep 2026 09:55AM UTC 168
97.81
GitHub Action Run
9 run-3.4-gemfiles/rack_3_0.gemfile - 34586529390.9 11 Sep 2026 09:54AM UTC 168
97.87
GitHub Action Run
10 run-4.0-gemfiles/grape_swagger.gemfile - 34586529390.10 11 Sep 2026 09:54AM UTC 167
54.27
GitHub Action Run
11 run-3.4-gemfiles/rack_3_2.gemfile - 34586529390.11 11 Sep 2026 09:54AM UTC 168
97.85
GitHub Action Run
12 run-3.3-gemfiles/rack_3_2.gemfile - 34586529390.12 11 Sep 2026 09:54AM UTC 168
97.88
GitHub Action Run
13 run-4.0-gemfiles/rack_3_0.gemfile - 34586529390.13 11 Sep 2026 09:54AM UTC 168
97.85
GitHub Action Run
14 run-3.4-gemfiles/rails_8_0.gemfile - 34586529390.14 11 Sep 2026 09:54AM UTC 169
97.87
GitHub Action Run
15 run-4.0-gemfiles/multi_xml_0_8.gemfile - 34586529390.15 11 Sep 2026 09:54AM UTC 167
46.6
GitHub Action Run
16 run-3.3-gemfiles/rack_2_2.gemfile - 34586529390.16 11 Sep 2026 09:54AM UTC 168
97.85
GitHub Action Run
17 run-4.0-gemfiles/rails_7_2.gemfile - 34586529390.17 11 Sep 2026 09:55AM UTC 169
97.87
GitHub Action Run
18 run-4.0-gemfiles/rack_3_2.gemfile - 34586529390.18 11 Sep 2026 09:55AM UTC 168
97.85
GitHub Action Run
19 run-3.3-gemfiles/rails_8_0.gemfile - 34586529390.19 11 Sep 2026 09:54AM UTC 169
97.89
GitHub Action Run
20 run-4.0-gemfiles/hashie.gemfile - 34586529390.20 11 Sep 2026 09:54AM UTC 167
61.2
GitHub Action Run
21 run-4.0-gemfiles/rack_2_2.gemfile - 34586529390.21 11 Sep 2026 09:54AM UTC 168
97.81
GitHub Action Run
22 run-3.3-Gemfile - 34586529390.22 11 Sep 2026 09:54AM UTC 168
97.87
GitHub Action Run
23 run-3.4-gemfiles/rails_7_2.gemfile - 34586529390.23 11 Sep 2026 09:54AM UTC 169
97.85
GitHub Action Run
24 run-4.0-gemfiles/rails_8_0.gemfile - 34586529390.24 11 Sep 2026 09:54AM UTC 169
97.85
GitHub Action Run
25 run-3.3-gemfiles/rack_3_0.gemfile - 34586529390.25 11 Sep 2026 09:54AM UTC 168
97.87
GitHub Action Run
26 run-4.0-gemfiles/dry_validation.gemfile - 34586529390.26 11 Sep 2026 09:54AM UTC 167
57.0
GitHub Action Run
27 run-3.3-gemfiles/rails_8_1.gemfile - 34586529390.27 11 Sep 2026 09:54AM UTC 169
97.87
GitHub Action Run
28 run-3.3-gemfiles/rails_7_2.gemfile - 34586529390.28 11 Sep 2026 09:54AM UTC 169
97.89
GitHub Action Run
29 run-4.0-gemfiles/grape_entity.gemfile - 34586529390.29 11 Sep 2026 09:54AM UTC 167
49.83
GitHub Action Run
30 run-4.0-gemfiles/rack_3_1.gemfile - 34586529390.30 11 Sep 2026 09:54AM UTC 168
97.87
GitHub Action Run
31 run-4.0-gemfiles/multi_xml.gemfile - 34586529390.31 11 Sep 2026 09:54AM UTC 167
46.56
GitHub Action Run
32 run-4.0-gemfiles/rails_8_1.gemfile - 34586529390.32 11 Sep 2026 09:55AM UTC 169
97.87
GitHub Action Run
Source Files on build 34586529390
  • Tree
  • List 169
  • Changed 4
  • Source Changed 2
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #34586529390
  • Pull Request #2933
  • PR Base - perf/root-scope-validation-fast-path (#34523953235)
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