Sha256: cc8ebbb3a86f193e3c383f68dc3ab06adcef51a9b8a8d06267584252183fa7f3
Contents?: true
Size: 1.36 KB
Versions: 2
Compression:
Stored size: 1.36 KB
Contents
require 'optparse' module Outback module CLI DEFAULT_CONFIGURATION_FILE = '/etc/outback/outback.conf' def self.invoke options = {} option_parser = OptionParser.new do |p| p.banner = "Usage: outback [configfile]" # p.on -v --verbose be talky p.on_tail("-h", "--help", "Show this message") do puts p exit end p.on_tail("--version", "Show version") do puts "Outback #{Outback::VERSION}" exit end end option_parser.parse! options[:configuration] = ARGV.first unless ARGV.first.blank? Outback::Configuration.reset config_file = options[:configuration] or begin unless File.exists?(DEFAULT_CONFIGURATION_FILE) puts 'no configuration found' exit(1) end DEFAULT_CONFIGURATION_FILE end begin load config_file rescue ConfigurationError => conf_error puts "Configuration Error! #{conf_error}" exit(1) rescue Exception => e puts 'Error loading config file' puts e exit(1) end if Outback::Configuration.loaded.empty? puts 'no configuration could be loaded' exit(1) end Outback::Configuration.loaded.each do |configuration| Outback::Backup.new(configuration).run! end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
outback-0.0.2 | lib/outback/cli.rb |
outback-0.0.1 | lib/outback/cli.rb |