Class: Smdev::CursorRules::DirectoryManager

Inherits:
Object
  • Object
show all
Defined in:
lib/smdev/cursor_rules/directory_manager.rb

Overview

Handles directory creation and validation operations

Constant Summary collapse

CURSOR_DIR =

Directory containing cursor rules and templates

'.cursor'
RULES_DIR =

Directory for cursor rules

File.join(CURSOR_DIR, 'rules')
TEMPLATES_DIR =

Directory for cursor templates

File.join(CURSOR_DIR, 'templates')
DOCS_DIR =

Directory for documentation

'docs'
BACKUPS_DIR =

Directory for backups

File.join(CURSOR_DIR, 'backups')

Instance Method Summary collapse

Constructor Details

#initialize(target_dir) ⇒ DirectoryManager



16
17
18
# File 'lib/smdev/cursor_rules/directory_manager.rb', line 16

def initialize(target_dir)
  @target_dir = target_dir
end

Instance Method Details

#create_required_directoriesObject



20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/smdev/cursor_rules/directory_manager.rb', line 20

def create_required_directories
  [
    CURSOR_DIR,
    RULES_DIR,
    TEMPLATES_DIR,
    DOCS_DIR,
    BACKUPS_DIR
  ].each do |dir|
    path = File.join(@target_dir, dir)
    FileUtils.mkdir_p(path)
    puts "📁 Created directory: #{dir}"
  end
end

#cursor_rules_exist?Boolean



34
35
36
# File 'lib/smdev/cursor_rules/directory_manager.rb', line 34

def cursor_rules_exist?
  File.directory?(File.join(@target_dir, CURSOR_DIR))
end

#validate_docs_directory(source_docs) ⇒ Object

Raises:



49
50
51
52
# File 'lib/smdev/cursor_rules/directory_manager.rb', line 49

def validate_docs_directory(source_docs)
  return if Dir.exist?(source_docs)
  raise Error, "Source documentation not found in gem"
end

#validate_source_directory(source_dir) ⇒ Object

Raises:



44
45
46
47
# File 'lib/smdev/cursor_rules/directory_manager.rb', line 44

def validate_source_directory(source_dir)
  return if Dir.exist?(source_dir)
  raise Error, "Source cursor directory not found in gem"
end

#validate_target_directoryObject



38
39
40
41
42
# File 'lib/smdev/cursor_rules/directory_manager.rb', line 38

def validate_target_directory
  unless File.directory?(@target_dir)
    raise Error, "Target directory '#{@target_dir}' does not exist"
  end
end