class Redmine::CLI::Parser

Constants

COMMANDS

Attributes

arguments[R]

Public Class Methods

new(args) click to toggle source
# File lib/redmine/cli/parser.rb, line 27
def initialize(args)
  parse(args)
end

Private Instance Methods

parse(args) click to toggle source
# File lib/redmine/cli/parser.rb, line 33
def parse(args)
  @arguments = ::Redmine::CLI::Arguments.new
  opt_parser = OptionParser.new do |opts|
    opts.on('-p', '--privileged', 'Run in privileged mode') do |p|
      @arguments.privileged = p
    end
  end

  opt_parser.parse!(args)
  if (args.size > 0)
    parse_remainings(args)
  else
    print_help
  end
end
parse_remainings(args) click to toggle source
# File lib/redmine/cli/parser.rb, line 49
def parse_remainings(args)
  command = args.shift
  case command
  when COMMAND_START
    @arguments.command = COMMAND_START
  when COMMAND_STOP
    process_stop_command(args)
  when COMMAND_LIST
    @arguments.command = COMMAND_LIST
  when COMMAND_SHOW
    process_show_command(args)
  when COMMAND_SHELL
    process_shell_command(args)
  when COMMAND_HELP
    print_help
  when COMMAND_LOGS
    process_logs_command(args)
  when COMMAND_INSTALL_PLUGINS
    process_install_plugins_command(args)
  else
    puts "Unknown command #{command}"
    raise UnclearCommand, command
  end
end
print_help() click to toggle source
process_install_plugins_command(args) click to toggle source
# File lib/redmine/cli/parser.rb, line 94
def process_install_plugins_command(args)
  @arguments.command = COMMAND_INSTALL_PLUGINS
  @arguments.config_path = args.shift
  @arguments.plugins_path = args.shift
end
process_logs_command(args) click to toggle source
# File lib/redmine/cli/parser.rb, line 84
def process_logs_command(args)
  @arguments.command = COMMAND_LOGS
  @arguments.instance_name = args.shift
end
process_shell_command(args) click to toggle source
# File lib/redmine/cli/parser.rb, line 89
def process_shell_command(args)
  @arguments.command = COMMAND_SHELL
  @arguments.instance_name = args.shift
end
process_show_command(args) click to toggle source
# File lib/redmine/cli/parser.rb, line 79
def process_show_command(args)
  @arguments.command = COMMAND_SHOW
  @arguments.instance_name = args.shift
end
process_stop_command(args) click to toggle source
# File lib/redmine/cli/parser.rb, line 74
def process_stop_command(args)
  @arguments.command = COMMAND_STOP
  @arguments.instance_name = args.shift
end