module Getch::Guard

Public Class Methods

disk(name) click to toggle source
# File lib/getch/guard.rb, line 14
def self.disk(name)
  raise InvalidDisk, "No disk." unless name
  raise InvalidDisk, "Bad device name #{name}." unless name.match(/^sd[a-z]{1}$/)
  raise InvalidDisk, "Disk /dev/#{name} no found." unless File.exist? "/dev/#{name}"
  name
rescue InvalidDisk => e
  puts "#{e.class} => #{e}"
  exit 1
end
format(name) click to toggle source
# File lib/getch/guard.rb, line 24
def self.format(name)
  raise InvalidFormat, "No format specified." unless name
  raise InvalidFormat, "Format #{name} not yet available." if name.match(/btrfs/)
  raise InvalidFormat, "Format #{name} not supported." unless name.match(/zfs|lvm|ext4/)
  name
rescue InvalidFormat => e
  puts "#{e.class} => #{e}"
  exit 1
end
keymap(name) click to toggle source
# File lib/getch/guard.rb, line 44
def self.keymap(name)
  raise InvalidKeymap, "No keymap specified." unless name
  key = []

  if Dir.exist? '/usr/share/keymaps'
    key = Dir.glob("/usr/share/keymaps/**/#{name}.map.gz")
  elsif Dir.exist? '/usr/share/kbd/keymaps'
    key = Dir.glob("/usr/share/kbd/keymaps/**/#{name}.map.gz")
  else
    raise InvalidKeymap, "No directory found for keymap."
  end

  if key == []
    raise InvalidKeymap, "Keymap #{name} no found."
  end
  name
rescue InvalidKeymap => e
  puts "#{e.class} => #{e}"
  exit 1
end
zone(name) click to toggle source
# File lib/getch/guard.rb, line 34
def self.zone(name)
  raise InvalidZone, "No zoneinfo specified." unless name
  raise InvalidZone, "Directory /usr/share/zoneinfo/ no found on this system..." unless Dir.exist? "/usr/share/zoneinfo/"
  raise InvalidZone, "Zoneinfo #{name} is no found in /usr/share/zoneinfo/." unless File.exist? "/usr/share/zoneinfo/#{name}"
  name
rescue InvalidZone => e
  puts "#{e.class} => #{e}"
  exit 1
end