module GitBak::Misc
miscellaneous
Public Class Methods
die!(msg)
click to toggle source
print msg to stderr and exit
# File lib/gitbak/misc.rb, line 31 def self.die! (msg) STDERR.puts msg; exit 1 end
exists?(path)
click to toggle source
does file/dir or symlink exists?
# File lib/gitbak/misc.rb, line 36 def self.exists? (path) File.exist?(path) || File.symlink?(path) end
prompt(prompt, hide = false)
click to toggle source
prompt for line; optionally hide input
# File lib/gitbak/misc.rb, line 41 def self.prompt (prompt, hide = false) STDOUT.print prompt; STDOUT.flush (line = hide ? STDIN.noecho { |i| i.gets } .tap { STDOUT.puts } : STDIN.gets) && line.chomp end
sys(cmd, *args)
click to toggle source
execute command (unless noact); optionally verbose @see sys_
# File lib/gitbak/misc.rb, line 56 def self.sys (cmd, *args) # {{{1 opts = Hash === args.last ? args.pop : {} puts "$ #{ ([cmd] + args).join ' ' }" \ if opts[:verbose] or opts[:noact] if opts[:noact] puts '(not actually doing anything)' else sys_ cmd, *args end end
sys_(cmd, *args)
click to toggle source
execute command @raise SysError
on failure
# File lib/gitbak/misc.rb, line 49 def self.sys_ (cmd, *args) system [cmd, cmd], *args or raise SysError, "failed to run command #{ ([cmd] + args) } (#$?)" end