Class: Glossarist::GcrValidator
- Inherits:
-
Object
- Object
- Glossarist::GcrValidator
- Defined in:
- lib/glossarist/gcr_validator.rb
Instance Method Summary collapse
-
#initialize(on_progress: nil) ⇒ GcrValidator
constructor
A new instance of GcrValidator.
- #validate(zip_path) ⇒ Object
Constructor Details
#initialize(on_progress: nil) ⇒ GcrValidator
Returns a new instance of GcrValidator.
7 8 9 |
# File 'lib/glossarist/gcr_validator.rb', line 7 def initialize(on_progress: nil) @on_progress = on_progress end |
Instance Method Details
#validate(zip_path) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/glossarist/gcr_validator.rb', line 11 def validate(zip_path) result = ValidationResult.new unless File.exist?(zip_path) result.add_error("File not found: #{zip_path}") return result end begin zip_entries = Zip::File.open(zip_path) { |zf| zf.entries.to_set(&:name) } rescue StandardError => e result.add_error("Failed to read ZIP: #{e.}") return result end unless zip_entries.include?("metadata.yaml") result.add_error("Missing metadata.yaml") return result end context, all_concepts = load_gcr_context(zip_path, result) return result if all_concepts.nil? validate_concepts(context, all_concepts, result) validate_collection(context, result) result end |