Class: Cocina::Models::Validators::DescriptionScriptVisitorValidator
- Inherits:
-
BaseDescriptionVisitorValidator
- Object
- BaseDescriptionVisitorValidator
- Cocina::Models::Validators::DescriptionScriptVisitorValidator
- Defined in:
- lib/cocina/models/validators/description_script_visitor_validator.rb
Overview
Validates language.script and valueLanguage.valueScript:
- source.code, when present, must be 'iso15924' (case-insensitive)
- code must be a recognized ISO 15924 script code (when source.code is 'iso15924')
Instance Method Summary collapse
Methods inherited from BaseDescriptionVisitorValidator
#path_to_s, #visit_array, #visit_obj
Instance Method Details
#validate! ⇒ Object
10 11 12 13 |
# File 'lib/cocina/models/validators/description_script_visitor_validator.rb', line 10 def validate! raise ValidationError, "Unrecognized script source codes in description: #{source_error_paths.join(', ')}" if source_error_paths.any? raise ValidationError, "Unrecognized script codes in description: #{error_paths.join(', ')}" if error_paths.any? end |
#visit_hash(hash:, path:) ⇒ Object
15 16 17 18 19 20 21 |
# File 'lib/cocina/models/validators/description_script_visitor_validator.rb', line 15 def visit_hash(hash:, path:) if language_path?(path) validate_script(hash, path, :script) elsif value_language_path?(path) validate_script(hash, path, :valueScript) end end |