Class: YOLOBackup::BackupRunner

Inherits:
Object
  • Object
show all
Includes:
Helper::Log
Defined in:
lib/yolo_backup/backup_runner.rb,
lib/yolo_backup/backup_runner/job.rb,
lib/yolo_backup/backup_runner/backend.rb

Defined Under Namespace

Classes: Backend, Error, Job, UnknownServerError

Constant Summary collapse

OPTIONS =
%w{servers verbose}

Instance Method Summary collapse

Methods included from Helper::Log

#log

Constructor Details

#initialize(options) ⇒ BackupRunner

Returns a new instance of BackupRunner.



19
20
21
22
23
# File 'lib/yolo_backup/backup_runner.rb', line 19

def initialize(options)
  OPTIONS.each do |option|
    send("#{option}=", options[option]) if options[option]
  end
end

Instance Method Details

#backup(server_name = nil) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/yolo_backup/backup_runner.rb', line 25

def backup(server_name = nil)
  if server_name.nil?
    servers.keys.each do |server_name|
      backup(server_name)
    end
  else
    raise UnknownServerError, "Server #{server_name} not defined" unless servers.key?(server_name)
    server = servers[server_name]
    log "Backup of #{server} requested" if verbose?
    job = Job.new 'server' => server, 'verbose' => verbose?
    job.start
  end
end