Class: Smdev::CursorRules::Installer

Inherits:
Object
  • Object
show all
Includes:
ConfigManager
Defined in:
lib/smdev/cursor_rules/installer.rb

Constant Summary collapse

CURSOR_DIR =
'.cursor'
RULES_DIR =
File.join(CURSOR_DIR, 'rules')
TEMPLATES_DIR =
File.join(CURSOR_DIR, 'templates')
DOCS_DIR =
'docs'
BACKUPS_DIR =
File.join(CURSOR_DIR, 'backups')

Instance Method Summary collapse

Constructor Details

#initialize(target_dir, ui: UserInterface.new) ⇒ Installer

Returns a new instance of Installer.



20
21
22
23
24
25
26
27
# File 'lib/smdev/cursor_rules/installer.rb', line 20

def initialize(target_dir, ui: UserInterface.new)
  @target_dir = target_dir
  @source_dir = CursorRules.templates_path
  @directory_manager = DirectoryManager.new(target_dir)
  @file_copier = FileCopier.new(@source_dir, target_dir)
  @ui = ui
  @backup_manager = BackupManager.new(target_dir, Time.now.strftime('%Y%m%d_%H%M%S'))
end

Instance Method Details

#installObject



29
30
31
32
33
34
35
36
37
38
39
# File 'lib/smdev/cursor_rules/installer.rb', line 29

def install
  begin
    validate_and_prepare
    perform_installation
    @ui.display_success_message(@target_dir)
    true
  rescue StandardError => e
    handle_error(e)
    raise
  end
end