Class: Fontisan::Validation::ChecksumValidator
- Inherits:
-
Object
- Object
- Fontisan::Validation::ChecksumValidator
- Defined in:
- lib/fontisan/validation/checksum_validator.rb
Overview
ChecksumValidator validates font file and table checksums
This validator checks that the head table checksum adjustment is correct and validates individual table checksums to ensure file integrity.
Single Responsibility: Checksum validation and file integrity
Instance Method Summary collapse
-
#initialize(rules) ⇒ ChecksumValidator
constructor
Initialize checksum validator.
-
#validate(font, font_path) ⇒ Array<Hash>
Validate font checksums.
Constructor Details
#initialize(rules) ⇒ ChecksumValidator
Initialize checksum validator
21 22 23 24 |
# File 'lib/fontisan/validation/checksum_validator.rb', line 21 def initialize(rules) @rules = rules @checksum_config = rules["checksum_validation"] || {} end |
Instance Method Details
#validate(font, font_path) ⇒ Array<Hash>
Validate font checksums
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/fontisan/validation/checksum_validator.rb', line 31 def validate(font, font_path) issues = [] # Check head table checksum adjustment if enabled if should_check?("check_head_checksum_adjustment") issues.concat(check_head_checksum_adjustment(font, font_path)) end # Check individual table checksums if enabled if should_check?("check_table_checksums") issues.concat(check_table_checksums(font)) end issues end |