Module: Strict::Validation
- Defined in:
- lib/strict/validation.rb
Constant Summary collapse
- NONE =
[].freeze
- ROOT_PATH =
[].freeze
Class Method Summary collapse
- .invalid(validator, value) ⇒ Object
- .missing(validator, path:) ⇒ Object
- .prepend_path(violations, *segments) ⇒ Object
- .unexpected(value, path:) ⇒ Object
- .violations(validator, value) ⇒ Object
Class Method Details
.invalid(validator, value) ⇒ Object
17 18 19 |
# File 'lib/strict/validation.rb', line 17 def invalid(validator, value) [Violation.new(path: ROOT_PATH, code: :invalid, value: value, validator: validator)] end |
.missing(validator, path:) ⇒ Object
21 22 23 |
# File 'lib/strict/validation.rb', line 21 def missing(validator, path:) Violation.new(path: path, code: :missing, value: nil, validator: validator) end |
.prepend_path(violations, *segments) ⇒ Object
29 30 31 32 33 34 35 36 37 38 |
# File 'lib/strict/validation.rb', line 29 def prepend_path(violations, *segments) violations.map do |violation| Violation.new( path: segments + violation.path, code: violation.code, value: violation.value, validator: violation.validator ) end end |
.unexpected(value, path:) ⇒ Object
25 26 27 |
# File 'lib/strict/validation.rb', line 25 def unexpected(value, path:) Violation.new(path: path, code: :unexpected, value: value, validator: nil) end |
.violations(validator, value) ⇒ Object
10 11 12 13 14 15 |
# File 'lib/strict/validation.rb', line 10 def violations(validator, value) return validator.violations(value) if DetailedValidator === validator return NONE if validator === value invalid(validator, value) end |