Class: Ace::Retro::Molecules::RetroFrontmatterValidator
- Inherits:
-
Object
- Object
- Ace::Retro::Molecules::RetroFrontmatterValidator
- Defined in:
- lib/ace/retro/molecules/retro_frontmatter_validator.rb
Overview
Validates retro spec file frontmatter for correctness and completeness. Returns an array of issue hashes with :type, :message, and :location keys.
Class Method Summary collapse
-
.validate(file_path, special_folder: nil) ⇒ Array<Hash>
Validate a single retro spec file.
Class Method Details
.validate(file_path, special_folder: nil) ⇒ Array<Hash>
Validate a single retro spec file
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/ace/retro/molecules/retro_frontmatter_validator.rb', line 18 def self.validate(file_path, special_folder: nil) issues = [] unless File.exist?(file_path) issues << {type: :error, message: "File does not exist", location: file_path} return issues end content = File.read(file_path) validate_delimiters(content, file_path, issues) return issues if issues.any? { |i| i[:type] == :error } frontmatter = parse_frontmatter(content, file_path, issues) return issues unless frontmatter validate_required_fields(frontmatter, file_path, issues) validate_field_values(frontmatter, file_path, issues) validate_recommended_fields(frontmatter, file_path, issues) validate_scope_consistency(frontmatter, special_folder, file_path, issues) issues end |