module GitBak::Executable
command-line executable
Constants
- INFO
description
- USAGE
command-line usage
Public Class Methods
configure(file)
click to toggle source
parse configuration file; die on failure
# File lib/gitbak/exec.rb, line 69 def self.configure(file) GitBak::Misc.die! "configuration file (#{file}) not found" \ unless GitBak::Misc.exists? file GitBak.configure file end
main(args = nil)
click to toggle source
run!
# File lib/gitbak/exec.rb, line 76 def self.main(args = nil) options = parse_options(args || ARGV) cfg = configure options[:cfgfile] GitBak.main options[:verbose], options[:noact], cfg end
parse_options(args)
click to toggle source
parse command line options; die on failure
# File lib/gitbak/exec.rb, line 36 def self.parse_options(args) # {{{1 args_ = args.dup options = { cfgfile: "#{Dir.home}/.gitbak", verbose: false, noact: false } op = OptionParser.new do |opts| opts.banner = USAGE opts.on('-c', '--config-file FILE', 'Configuration file') do |x| options[:cfgfile] = x end opts.on('-v', '--[no-]verbose', 'Run verbosely') do |x| options[:verbose] = x end opts.on('-n', '--no-act', 'List w/o mirroring') do |x| options[:noact] = !x end opts.on_tail('-h', '--help', 'Show this message') do puts INFO, '', opts; exit end opts.on_tail('--version', 'Show version') do puts "gitbak v#{GitBak::VERSION}"; exit end end begin op.parse! args_ rescue OptionParser::ParseError => e GitBak::Misc.die! "#{e}\n\n#{op}" end GitBak::Misc.die! "usage: #{USAGE}" unless args_.length == 0 options end