class Freydis::Main

Public Class Methods

new(args) click to toggle source
# File lib/freydis.rb, line 14
def initialize(args)
  @config = args[:config]
  @cli = args[:cli].options
  @disk = @cli[:disk]

  Freydis::Guard.disk(@cli[:disk])
end

Public Instance Methods

bye() click to toggle source
# File lib/freydis.rb, line 32
def bye
  puts
  puts "Bye !"
  exit
end
start() click to toggle source
# File lib/freydis.rb, line 22
def start
  init_config
  encrypt_disk
  backup
  restoring
  opening
  closing
  save if @cli[:save]
end

Private Instance Methods

backup() click to toggle source
# File lib/freydis.rb, line 53
def backup
  return unless @cli[:backup]
  raise ArgumentError, "No paths to backup" unless @cli[:paths]
  raise ArgumentError, "No paths to backup" if @cli[:paths] === []

  puts " ==> Backup on #{@cli[:disk]}..."
  disk = DiskLuks.new(@cli)
  disk.open
  rsync = Rsync.new(@cli)
  rsync.backup
  disk.close
end
closing() click to toggle source
# File lib/freydis.rb, line 85
def closing
  return unless @cli[:close]
  puts
  puts " ===> Closing disk #{@disk}."
  disk = DiskLuks.new(@cli)
  disk.close
end
encrypt_disk() click to toggle source
# File lib/freydis.rb, line 46
def encrypt_disk
  return unless @cli[:encrypt]
  puts "Encrypting disk #{@disk}..."
  disk = Disk.new(@disk)
  disk.encrypt(@data)
end
init_config() click to toggle source
# File lib/freydis.rb, line 40
def init_config
  return unless @cli[:init]
  Init.run(@cli)
  save
end
opening() click to toggle source
# File lib/freydis.rb, line 77
def opening
  return unless @cli[:open]
  puts
  puts " ===> Opening disk #{@disk}."
  disk = DiskLuks.new(@cli)
  disk.open
end
restoring() click to toggle source
# File lib/freydis.rb, line 66
def restoring
  return unless @cli[:restore]
  puts
  puts " ===> Restoring..."
  disk = DiskLuks.new(@cli)
  disk.open
  rsync = Rsync.new(@cli)
  rsync.restore
  disk.close
end
save() click to toggle source
# File lib/freydis.rb, line 93
def save
  puts
  puts " ===> Saving options to #{@config}..."
  Data.new(@config, @cli).save
end