Class: Flexdot::Backup

Inherits:
Object
  • Object
show all
Defined in:
lib/flexdot/backup.rb

Defined Under Namespace

Classes: AlreadyFinishedError

Constant Summary collapse

BASE_DIR =
'backup'

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeBackup



22
23
24
25
# File 'lib/flexdot/backup.rb', line 22

def initialize
  backup_dir.mkpath unless backup_dir.exist?
  @finished = false
end

Class Method Details

.base_dirObject



17
18
19
# File 'lib/flexdot/backup.rb', line 17

def base_dir
  Pathname.pwd.join(BASE_DIR)
end

.clear_allObject



13
14
15
# File 'lib/flexdot/backup.rb', line 13

def clear_all
  base_dir.glob('*').each(&:rmtree)
end

Instance Method Details

#call(file) ⇒ Object



27
28
29
30
# File 'lib/flexdot/backup.rb', line 27

def call(file)
  raise AlreadyFinishedError if @finished
  FileUtils.mv(file, backup_dir)
end

#finish!Object



32
33
34
35
# File 'lib/flexdot/backup.rb', line 32

def finish!
  backup_dir.delete if backup_dir.empty?
  @finished = true
end