Class: Smdev::CursorRules::DirectoryManager
- Inherits:
-
Object
- Object
- Smdev::CursorRules::DirectoryManager
- 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
- #create_required_directories ⇒ Object
- #cursor_rules_exist? ⇒ Boolean
-
#initialize(target_dir) ⇒ DirectoryManager
constructor
A new instance of DirectoryManager.
- #validate_docs_directory(source_docs) ⇒ Object
- #validate_source_directory(source_dir) ⇒ Object
- #validate_target_directory ⇒ Object
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_directories ⇒ Object
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
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
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_directory ⇒ Object
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 |