class AppStack::CliOptions
parse command line options based rubocop:disable MethodLength
Attributes
conf_file[RW]
force[RW]
print[RW]
reverse[RW]
simulate[RW]
verbose[RW]
Public Class Methods
new(argv = ARGV)
click to toggle source
# File lib/app_stack/cli_options.rb, line 11 def initialize(argv = ARGV) parse_opt!(argv) case argv.size when 1 then self.conf_file = argv.shift when 0 then self.conf_file = nil else fail "too many configuration files (#{argv.join(', ')})." end end
Public Instance Methods
parse_opt!(argv)
click to toggle source
parse command line options
# File lib/app_stack/cli_options.rb, line 21 def parse_opt!(argv) opt_parser = OptionParser.new do |opts| opts.banner = 'Usage: appstack [options] [config_file]' opts.separator '' opts.separator 'Available options:' opts.on('-f', '--force', 'force overwrite') do self.force = true end opts.on('-s', '--simulate', 'simulate only, do not copy') do self.simulate = true end opts.on('-r', '--reverse', 'copy local update to remote') do self.reverse = true end opts.on('-p', '--print', 'print copy relationships') do self.print = true end opts.on('--verbose', 'show debug messages') do self.verbose = true end opts.on_tail('-h', '--help', 'show this message') do puts opts exit end opts.on_tail('-v', '--version', 'show version number') do puts AppStack::VERSION exit end end opt_parser.parse!(argv) end