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

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

Build:
Build:
LAST BUILD BRANCH: fix/negotiated-format-fallback
DEFAULT BRANCH: master
Ran 26 Sep 2026 02:09PM UTC
Jobs 32
Files 166
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

26 Sep 2026 02:08PM UTC coverage: 100.0%. Remained the same
36247529931

push

github

ericproulx
Fold the attribute iterator subclasses into AttributesIterator

SingleAttributeIterator and MultipleAttributesIterator differed only in
the private yield_attributes hook: one yielded each element, the other
yielded it once per attribute along with its emptiness. The block a
validator passes to #each can already hold that difference, so
AttributesIterator now yields each element, skipping the empty optional
placeholder as both did, and the validators that want the attribute
loop write it in their block.

- Base#validate! loops over @attrs itself and asks empty_element?,
  which SingleAttributeIterator#empty? duplicated. The emptiness and
  dependency checks only read the element, so they now run once per
  element instead of once per attribute.
- DefaultValidator#validate! calls apply_defaults for each element, the
  code its direct path already ran.
- The iterator no longer takes attrs, and the iterator_class hook goes.

On two request shapes that go through the iterator, an Array nested in
an Array is 6-9% faster (3-4% under YJIT) and a given scope 16-18%
(29-33% under YJIT).

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

1494 of 1494 branches covered (100.0%)

Branch coverage included in aggregate %.

11 of 11 new or added lines in 3 files covered. (100.0%)

4314 of 4314 relevant lines covered (100.0%)

29204.18 hits per line

Jobs
ID Job ID Ran Files Coverage
1 run-4.0-gemfiles/multi_json_1_20.gemfile - 36247529931.1 26 Sep 2026 02:09PM UTC 164
46.04
GitHub Action Run
2 run-4.0-gemfiles/multi_xml.gemfile - 36247529931.2 26 Sep 2026 02:09PM UTC 164
45.69
GitHub Action Run
3 run-4.0-gemfiles/rails_8_1.gemfile - 36247529931.3 26 Sep 2026 02:10PM UTC 166
98.81
GitHub Action Run
4 run-3.4-Gemfile - 36247529931.4 26 Sep 2026 02:09PM UTC 165
98.81
GitHub Action Run
5 run-4.0-gemfiles/rack_3_2.gemfile - 36247529931.5 26 Sep 2026 02:09PM UTC 165
98.81
GitHub Action Run
6 run-3.3-gemfiles/rack_3_1.gemfile - 36247529931.6 26 Sep 2026 02:09PM UTC 165
98.83
GitHub Action Run
7 run-4.0-gemfiles/rails_8_0.gemfile - 36247529931.7 26 Sep 2026 02:10PM UTC 166
98.81
GitHub Action Run
8 run-3.4-gemfiles/rack_3_0.gemfile - 36247529931.8 26 Sep 2026 02:09PM UTC 165
98.81
GitHub Action Run
9 run-3.3-gemfiles/rails_8_1.gemfile - 36247529931.9 26 Sep 2026 02:10PM UTC 166
98.83
GitHub Action Run
10 run-4.0-gemfiles/multi_xml_0_8.gemfile - 36247529931.10 26 Sep 2026 02:10PM UTC 164
45.72
GitHub Action Run
11 run-3.4-gemfiles/rack_3_2.gemfile - 36247529931.11 26 Sep 2026 02:10PM UTC 165
98.81
GitHub Action Run
12 run-3.4-gemfiles/rails_8_0.gemfile - 36247529931.12 26 Sep 2026 02:09PM UTC 166
98.81
GitHub Action Run
13 run-4.0-gemfiles/grape_swagger.gemfile - 36247529931.13 26 Sep 2026 02:10PM UTC 164
53.31
GitHub Action Run
14 run-4.0-gemfiles/rack_3_0.gemfile - 36247529931.14 26 Sep 2026 02:09PM UTC 165
98.81
GitHub Action Run
15 run-3.3-gemfiles/rails_8_0.gemfile - 36247529931.15 26 Sep 2026 02:09PM UTC 166
98.83
GitHub Action Run
16 run-3.3-gemfiles/rack_3_0.gemfile - 36247529931.16 26 Sep 2026 02:09PM UTC 165
98.83
GitHub Action Run
17 run-3.4-gemfiles/rack_2_2.gemfile - 36247529931.17 26 Sep 2026 02:09PM UTC 165
98.78
GitHub Action Run
18 run-4.0-gemfiles/rails_7_2.gemfile - 36247529931.18 26 Sep 2026 02:10PM UTC 166
98.81
GitHub Action Run
19 run-4.0-Gemfile - 36247529931.19 26 Sep 2026 02:09PM UTC 165
98.81
GitHub Action Run
20 run-3.3-gemfiles/rack_3_2.gemfile - 36247529931.20 26 Sep 2026 02:09PM UTC 165
98.83
GitHub Action Run
21 run-3.4-gemfiles/rails_7_2.gemfile - 36247529931.21 26 Sep 2026 02:10PM UTC 166
98.81
GitHub Action Run
22 run-4.0-gemfiles/multi_json.gemfile - 36247529931.22 26 Sep 2026 02:09PM UTC 164
46.0
GitHub Action Run
23 run-4.0-gemfiles/grape_entity.gemfile - 36247529931.23 26 Sep 2026 02:09PM UTC 164
48.77
GitHub Action Run
24 run-3.3-gemfiles/rack_2_2.gemfile - 36247529931.24 26 Sep 2026 02:09PM UTC 165
98.79
GitHub Action Run
25 run-4.0-gemfiles/rack_2_2.gemfile - 36247529931.25 26 Sep 2026 02:09PM UTC 165
98.78
GitHub Action Run
26 run-3.4-gemfiles/rack_3_1.gemfile - 36247529931.26 26 Sep 2026 02:09PM UTC 165
98.81
GitHub Action Run
27 run-4.0-gemfiles/dry_validation.gemfile - 36247529931.27 26 Sep 2026 02:09PM UTC 164
55.89
GitHub Action Run
28 run-3.4-gemfiles/rails_8_1.gemfile - 36247529931.28 26 Sep 2026 02:09PM UTC 166
98.81
GitHub Action Run
29 run-3.3-Gemfile - 36247529931.29 26 Sep 2026 02:09PM UTC 165
98.83
GitHub Action Run
30 run-4.0-gemfiles/rack_3_1.gemfile - 36247529931.30 26 Sep 2026 02:09PM UTC 165
98.81
GitHub Action Run
31 run-4.0-gemfiles/hashie.gemfile - 36247529931.31 26 Sep 2026 02:09PM UTC 164
59.97
GitHub Action Run
32 run-3.3-gemfiles/rails_7_2.gemfile - 36247529931.32 26 Sep 2026 02:09PM UTC 166
98.83
GitHub Action Run
Source Files on build 36247529931
  • Tree
  • List 166
  • Changed 4
  • Source Changed 4
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #36247529931
  • e0ba9aae on github
  • Prev Build on master (#36111107564)
  • Next Build on refactor/fold-attributes-iterators (#36247543738)
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