lib/coa_upgrader/command_line_parser.rb
require 'optparse'
module CoaUpgrader
# Common command line parsing for upgrade scripts
class CommandLineParser
OPTIONS = {
dump_output: true,
config_path: '',
templates_path: '',
version: ''
}.freeze
def initialize(options = OPTIONS.dup)
@options = options
end
def parse
options = @options
opt_parser = OptionParser.new do |opts|
opts.banner = "Incomplete/wrong parameter(s): #{opts.default_argv}.\n Usage: ./#{opts.program_name} <options>"
opts.on('-c', '--config PATH', "config-path location (main git directory). Default: #{options[:config_path]}") do |cp_string|
options[:config_path] = cp_string
end
opts.on('-t', '--templates PATH', "paas-templates path location (main git directory). Default: #{options[:templates_path]}") do |tp_string|
options[:templates_path] = tp_string
end
opts.on('-v', '--version VERSION', "version to upgrade to. Default: #{options[:version]}") do |v_string|
options[:version] = v_string
end
opts.on('--[no-]dump', 'Dump genereted file on standart output') do |dump|
options[:dump_output] = dump
end
end
opt_parser.parse!
@options = options
end
end
end