in files/gitlab-ctl-commands-ee/lib/geo.rb [18:70]
def self.parse_options(args)
loop do
break if args.shift == 'geo'
end
options = {}
global = OptionParser.new do |opts|
opts.banner = 'geo [options] command [options]'
opts.on('-q', '--quiet', 'Silent or quiet mode') do |q|
options[:quiet] = q
end
opts.on('-v', '--verbose', 'Verbose or debug mode') do |v|
options[:verbose] = v
end
opts.on('-h', '--help', 'Usage help') do
Utils.warn_and_exit usage
end
end
commands = {
'promote' => OptionParser.new do |opts|
opts.on('-h', '--help', 'Prints this help') do
Utils.warn_and_exit opts
end
opts.on('--enable-silent-mode', 'Enable GitLab Silent Mode') do |e|
options[:enable_silent_mode] = e
end
opts.on('-f', '--force', 'Proceed with no confirmation') do |f|
options[:force] = f
end
end
}
global.order! args
command = args.shift
raise OptionParser::ParseError, "Geo command is not specified." \
if command.nil? || command.empty?
raise OptionParser::ParseError, "Unknown Geo command: #{command}" \
unless commands.key? command
options[:command] = command
commands[command].order! args
options
end