Class: Cocina::Models::Validators::DarkVisitorValidator

Inherits:
BaseStructuralVisitorValidator show all
Defined in:
lib/cocina/models/validators/dark_visitor_validator.rb

Overview

Validates that shelve and publish file attributes are set to false for dark DRO objects.

Instance Method Summary collapse

Methods inherited from BaseStructuralVisitorValidator

#initialize

Constructor Details

This class inherits a constructor from Cocina::Models::Validators::BaseStructuralVisitorValidator

Instance Method Details

#validate!Object

Raises:



14
15
16
17
18
19
20
# File 'lib/cocina/models/validators/dark_visitor_validator.rb', line 14

def validate!
  return if invalid_files.empty?

  filenames = invalid_files.map { |file| file[:filename] || file[:label] }
  raise ValidationError, 'Not all files have dark access and/or are unshelved ' \
                         "when object access is dark: #{filenames}"
end

#visit_file(file_hash:) ⇒ Object



8
9
10
11
12
# File 'lib/cocina/models/validators/dark_visitor_validator.rb', line 8

def visit_file(file_hash:)
  return unless dark_object?

  invalid_files << file_hash if invalid?(file_hash)
end