Class: Ace::Idea::Molecules::IdeaStructureValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/ace/idea/molecules/idea_structure_validator.rb

Overview

Validates the directory structure of an ideas root directory. Checks folder naming, file naming, and structural conventions.

Instance Method Summary collapse

Constructor Details

#initialize(root_dir) ⇒ IdeaStructureValidator

Returns a new instance of IdeaStructureValidator.

Parameters:

  • root_dir (String)

    Root directory for ideas (e.g., “.ace-ideas”)



13
14
15
# File 'lib/ace/idea/molecules/idea_structure_validator.rb', line 13

def initialize(root_dir)
  @root_dir = root_dir
end

Instance Method Details

#validate(root_dir = @root_dir) ⇒ Array<Hash>

Validate the entire ideas directory structure

Returns:

  • (Array<Hash>)

    List of issues found



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/ace/idea/molecules/idea_structure_validator.rb', line 19

def validate(root_dir = @root_dir)
  issues = []

  unless Dir.exist?(root_dir)
    issues << {type: :error, message: "Ideas 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