Class: Cocina::Models::Validators::DescriptionScriptVisitorValidator

Inherits:
BaseDescriptionVisitorValidator show all
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

Raises:



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