Class: Cocina::Models::Validators::Validator
- Inherits:
-
Object
- Object
- Cocina::Models::Validators::Validator
- Defined in:
- lib/cocina/models/validators/validator.rb
Overview
Perform validation against all other Validators
Constant Summary collapse
- VALIDATORS =
[ JsonSchemaValidator, CompositeDescriptionValidator, CompositeStructuralValidator, PurlValidator, CatalogLinksValidator, AssociatedNameValidator ].freeze
Class Method Summary collapse
Class Method Details
.validate(clazz, attributes, validators: VALIDATORS) ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/cocina/models/validators/validator.rb', line 17 def self.validate(clazz, attributes, validators: VALIDATORS) # This gets rid of nested model objects. attributes_hash = attributes.to_h.deep_transform_values do |value| value.class.name.starts_with?('Cocina::Models') ? value.to_h : value end.with_indifferent_access validators.each { |validator| validator.validate(clazz, attributes_hash) } end |