Class: Smdev::CursorRules::BackupManager

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

Instance Method Summary collapse

Constructor Details

#initialize(target_dir, timestamp) ⇒ BackupManager

Returns a new instance of BackupManager.



6
7
8
9
10
# File 'lib/smdev/cursor_rules/backup_manager.rb', line 6

def initialize(target_dir, timestamp)
  @target_dir = target_dir
  @timestamp = timestamp
  @backup_created = false
end

Instance Method Details

#backup_exists?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/smdev/cursor_rules/backup_manager.rb', line 35

def backup_exists?
  @backup_created
end

#create_backupObject



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/smdev/cursor_rules/backup_manager.rb', line 12

def create_backup
  @backup_dir = File.join(@target_dir, '.cursor/backups', @timestamp)
  FileUtils.mkdir_p(@backup_dir)
  
  backup_cursor_directory
  backup_docs
  
  puts "📦 Created backup in: #{@backup_dir}"
  @backup_created = true
  true
end

#restoreObject



24
25
26
27
28
29
30
31
32
33
# File 'lib/smdev/cursor_rules/backup_manager.rb', line 24

def restore
  return unless backup_exists?
  
  restore_directory('rules')
  restore_directory('templates')
  restore_docs

  puts "♻️  Restored previous version from backup"
  true
end