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

ruby-grape / grape / 22244022029
97%
master: 97%

Build:
Build:
LAST BUILD BRANCH: revisit_validators
DEFAULT BRANCH: master
Ran 20 Feb 2026 10:41PM UTC
Jobs 37
Files 153
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

20 Feb 2026 10:40PM UTC coverage: 96.839% (-0.07%) from 96.906%
22244022029

Pull #2657

github

ericproulx
Instantiate validators at definition time

- Store validator instances in ParamsScope/ContractScope and have
  Endpoint#run_validators read them directly
- Remove ValidatorFactory indirection and eagerly compute validator
  messages/options in constructors
- Freeze validator instances after initialization via Base.new to
  prevent mutation across shared requests (shallow freeze)
- Extract Grape::Util::Translation module shared by Exceptions::Base
  and Validators::Base for I18n translate with fallback locale
- Support Hash messages in translate_message for deferred translation
  with interpolation parameters (e.g. { key: :length, min: 2 })
- Normalize Grape::Exceptions::Validation params handling and refactor
  validator specs to define routes per example group
- Use case/when for message_key extraction in Exceptions::Validation
- Guard LengthValidator against missing constraints and extract option
  validation into private methods to stay within complexity limits
- Store zero-arity procs directly in ValuesValidator (consistent with
  ExceptValuesValidator) and document DB-backed lazy evaluation intent
- Drop test-prof dependency and its spec config
Pull Request #2657: Instantiate validators at definition time

1061 of 1147 branches covered (92.5%)

Branch coverage included in aggregate %.

186 of 188 new or added lines in 22 files covered. (98.94%)

1 existing line in 1 file now uncovered.

3320 of 3377 relevant lines covered (98.31%)

37644.66 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
92.68
-3.32% lib/grape/exceptions/base.rb
1
95.59
-0.33% lib/grape/validations/validators/base.rb

Uncovered Existing Lines

Lines Coverage ∆ File
1
92.68
-3.32% lib/grape/exceptions/base.rb
Jobs
ID Job ID Ran Files Coverage
1 run-3.3-gemfiles/rack_2_2.gemfile - 22244022029.1 20 Feb 2026 10:41PM UTC 152
95.66
GitHub Action Run
2 run-4.0-Gemfile - 22244022029.2 20 Feb 2026 10:41PM UTC 152
95.7
GitHub Action Run
3 run-4.0-gemfiles/multi_xml.gemfile - 22244022029.3 20 Feb 2026 10:41PM UTC 152
35.44
GitHub Action Run
4 run-4.0-gemfiles/rack_3_1.gemfile - 22244022029.4 20 Feb 2026 10:41PM UTC 152
95.7
GitHub Action Run
5 run-3.4-gemfiles/rails_8_0.gemfile - 22244022029.5 20 Feb 2026 10:41PM UTC 153
95.71
GitHub Action Run
6 run-3.2-Gemfile - 22244022029.6 20 Feb 2026 10:41PM UTC 152
95.75
GitHub Action Run
7 run-3.4-gemfiles/rails_8_1.gemfile - 22244022029.7 20 Feb 2026 10:41PM UTC 153
95.71
GitHub Action Run
8 run-3.4-gemfiles/rack_3_1.gemfile - 22244022029.8 20 Feb 2026 10:41PM UTC 152
95.7
GitHub Action Run
9 run-4.0-gemfiles/rack_3_0.gemfile - 22244022029.9 20 Feb 2026 10:41PM UTC 152
95.7
GitHub Action Run
10 run-3.4-gemfiles/rack_3_0.gemfile - 22244022029.10 20 Feb 2026 10:41PM UTC 152
95.7
GitHub Action Run
11 run-4.0-gemfiles/dry_validation.gemfile - 22244022029.11 20 Feb 2026 10:41PM UTC 152
56.77
GitHub Action Run
12 run-3.2-gemfiles/rack_2_2.gemfile - 22244022029.12 20 Feb 2026 10:41PM UTC 152
95.7
GitHub Action Run
13 run-3.2-gemfiles/rack_3_0.gemfile - 22244022029.13 20 Feb 2026 10:41PM UTC 152
95.75
GitHub Action Run
14 run-3.4-gemfiles/rack_2_2.gemfile - 22244022029.14 20 Feb 2026 10:41PM UTC 152
95.66
GitHub Action Run
15 run-3.3-Gemfile - 22244022029.15 20 Feb 2026 10:41PM UTC 152
95.7
GitHub Action Run
16 run-4.0-gemfiles/rack_2_2.gemfile - 22244022029.16 20 Feb 2026 10:41PM UTC 152
95.66
GitHub Action Run
17 run-4.0-gemfiles/rack_3_2.gemfile - 22244022029.17 20 Feb 2026 10:41PM UTC 152
95.7
GitHub Action Run
18 run-3.2-gemfiles/rails_7_2.gemfile - 22244022029.18 20 Feb 2026 10:41PM UTC 153
95.75
GitHub Action Run
19 run-3.3-gemfiles/rails_8_1.gemfile - 22244022029.19 20 Feb 2026 10:41PM UTC 153
95.71
GitHub Action Run
20 run-3.3-gemfiles/rack_3_0.gemfile - 22244022029.20 20 Feb 2026 10:41PM UTC 152
95.7
GitHub Action Run
21 run-3.3-gemfiles/rails_8_0.gemfile - 22244022029.21 20 Feb 2026 10:41PM UTC 153
95.71
GitHub Action Run
22 run-3.2-gemfiles/rails_8_1.gemfile - 22244022029.22 20 Feb 2026 10:42PM UTC 153
95.75
GitHub Action Run
23 run-4.0-gemfiles/hashie.gemfile - 22244022029.23 20 Feb 2026 10:41PM UTC 152
61.13
GitHub Action Run
24 run-4.0-gemfiles/multi_json.gemfile - 22244022029.24 20 Feb 2026 10:41PM UTC 152
35.44
GitHub Action Run
25 run-4.0-gemfiles/rails_7_2.gemfile - 22244022029.25 20 Feb 2026 10:41PM UTC 153
95.71
GitHub Action Run
26 run-3.3-gemfiles/rack_3_2.gemfile - 22244022029.26 20 Feb 2026 10:41PM UTC 152
95.7
GitHub Action Run
27 run-3.2-gemfiles/rack_3_1.gemfile - 22244022029.27 20 Feb 2026 10:41PM UTC 152
95.75
GitHub Action Run
28 run-4.0-gemfiles/grape_entity.gemfile - 22244022029.28 20 Feb 2026 10:41PM UTC 152
49.15
GitHub Action Run
29 run-3.4-gemfiles/rack_3_2.gemfile - 22244022029.29 20 Feb 2026 10:41PM UTC 152
95.7
GitHub Action Run
30 run-4.0-gemfiles/rails_8_1.gemfile - 22244022029.30 20 Feb 2026 10:41PM UTC 153
95.71
GitHub Action Run
31 run-3.3-gemfiles/rails_7_2.gemfile - 22244022029.31 20 Feb 2026 10:41PM UTC 153
95.71
GitHub Action Run
32 run-3.4-Gemfile - 22244022029.32 20 Feb 2026 10:41PM UTC 152
95.7
GitHub Action Run
33 run-3.2-gemfiles/rails_8_0.gemfile - 22244022029.33 20 Feb 2026 10:41PM UTC 153
95.75
GitHub Action Run
34 run-3.3-gemfiles/rack_3_1.gemfile - 22244022029.34 20 Feb 2026 10:41PM UTC 152
95.7
GitHub Action Run
35 run-3.4-gemfiles/rails_7_2.gemfile - 22244022029.35 20 Feb 2026 10:41PM UTC 153
95.71
GitHub Action Run
36 run-4.0-gemfiles/rails_8_0.gemfile - 22244022029.36 20 Feb 2026 10:41PM UTC 153
95.71
GitHub Action Run
37 run-3.2-gemfiles/rack_3_2.gemfile - 22244022029.37 20 Feb 2026 10:41PM UTC 152
95.75
GitHub Action Run
Source Files on build 22244022029
  • Tree
  • List 153
  • Changed 22
  • Source Changed 21
  • Coverage Changed 22
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #22244022029
  • Pull Request #2657
  • PR Base - master (#22229989337)
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