Class: Cocina::Models::Validators::ReservedFilenameVisitorValidator
- Inherits:
-
BaseStructuralVisitorValidator
- Object
- BaseStructuralVisitorValidator
- Cocina::Models::Validators::ReservedFilenameVisitorValidator
- Defined in:
- lib/cocina/models/validators/reserved_filename_visitor_validator.rb
Overview
Validates that bare external identifier not used as a root filename or directory. This is necessary due to the bare druid being used as part of the Stacks file layout.
Instance Method Summary collapse
Methods inherited from BaseStructuralVisitorValidator
Constructor Details
This class inherits a constructor from Cocina::Models::Validators::BaseStructuralVisitorValidator
Instance Method Details
#validate! ⇒ Object
18 19 20 21 22 |
# File 'lib/cocina/models/validators/reserved_filename_visitor_validator.rb', line 18 def validate! return if invalid_filenames.empty? raise ValidationError, 'Bare druid may not be used as a filename or a base directory' end |
#visit_file(file_hash:) ⇒ Object
9 10 11 12 13 14 15 16 |
# File 'lib/cocina/models/validators/reserved_filename_visitor_validator.rb', line 9 def visit_file(file_hash:) return unless .present? filename = file_hash[:filename] return unless filename.present? invalid_filenames << filename if reserved?(filename) end |