Class: Ace::Task::Molecules::TaskStructureValidator
- Inherits:
-
Object
- Object
- Ace::Task::Molecules::TaskStructureValidator
- Defined in:
- lib/ace/task/molecules/task_structure_validator.rb
Overview
Validates the directory structure of a tasks root directory. Checks folder naming, file naming, and structural conventions.
Constant Summary collapse
- FOLDER_PATTERN =
Task folder naming pattern: Ace::Task::Molecules::TaskStructureValidator.xxxxxx.txxx.t.yyy-slug
/^[0-9a-z]{3}\.[a-z]\.[0-9a-z]{3}-.+$/
Instance Method Summary collapse
-
#initialize(root_dir) ⇒ TaskStructureValidator
constructor
A new instance of TaskStructureValidator.
-
#validate(root_dir = @root_dir) ⇒ Array<Hash>
Validate the entire tasks directory structure.
Constructor Details
#initialize(root_dir) ⇒ TaskStructureValidator
Returns a new instance of TaskStructureValidator.
15 16 17 |
# File 'lib/ace/task/molecules/task_structure_validator.rb', line 15 def initialize(root_dir) @root_dir = root_dir end |
Instance Method Details
#validate(root_dir = @root_dir) ⇒ Array<Hash>
Validate the entire tasks directory structure
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/ace/task/molecules/task_structure_validator.rb', line 21 def validate(root_dir = @root_dir) issues = [] unless Dir.exist?(root_dir) issues << {type: :error, message: "Tasks root directory does not exist", location: root_dir} return issues end check_folder_naming(root_dir, issues) check_spec_files(root_dir, issues) check_stale_backups(root_dir, issues) check_empty_directories(root_dir, issues) issues end |