Class: Uniword::Validation::Validators::RelationshipValidator
- Inherits:
-
LayerValidator
- Object
- LayerValidator
- Uniword::Validation::Validators::RelationshipValidator
- Defined in:
- lib/uniword/validation/validators/relationship_validator.rb
Overview
Validates relationship integrity (targets exist, no broken refs).
Responsibility: Validate relationship files and targets. Single Responsibility: Only validates relationships.
This is Layer 5 validation - validates that all relationship files are valid and their targets exist.
Checks:
-
Relationship files are well-formed
-
Relationship targets exist
-
Relationship types are valid
Constant Summary collapse
- RELATIONSHIP_NAMESPACE =
"http://schemas.openxmlformats.org/package/2006/relationships"
Instance Attribute Summary
Attributes inherited from LayerValidator
Instance Method Summary collapse
Methods inherited from LayerValidator
Constructor Details
This class inherits a constructor from Uniword::Validation::LayerValidator
Instance Method Details
#layer_name ⇒ Object
30 31 32 |
# File 'lib/uniword/validation/validators/relationship_validator.rb', line 30 def layer_name "Relationships" end |
#validate(path) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/uniword/validation/validators/relationship_validator.rb', line 34 def validate(path) result = LayerValidationResult.new(layer_name) Zip::File.open(path) do |zip| validate_relationships(zip, result) end result rescue Zip::Error => e result.add_error( "Cannot open ZIP file: #{e.}", critical: true, ) result end |