Class: Cocina::Models::Validators::NonAlternativeTitleValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/cocina/models/validators/non_alternative_title_validator.rb

Overview

Validates that not all titles have type 'alternative'

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(clazz, attributes) ⇒ NonAlternativeTitleValidator

Returns a new instance of NonAlternativeTitleValidator.



12
13
14
15
# File 'lib/cocina/models/validators/non_alternative_title_validator.rb', line 12

def initialize(clazz, attributes)
  @clazz = clazz
  @attributes = attributes
end

Class Method Details

.validateObject



8
9
10
# File 'lib/cocina/models/validators/non_alternative_title_validator.rb', line 8

def self.validate(...)
  new(...).validate
end

Instance Method Details

#validateObject

Raises:



17
18
19
20
21
22
23
# File 'lib/cocina/models/validators/non_alternative_title_validator.rb', line 17

def validate
  return unless meets_preconditions?

  return unless titles.all? { |title| title[:type] == 'alternative' }

  raise ValidationError, "At least one title must have no type or a type other than 'alternative'."
end