class Puma::CLI

def initialize(argv, log_writer = LogWriter.stdio, events = Events.new, env: ENV)


arguments.
Create a new CLI object using +argv+ as the command line
def initialize(argv, log_writer = LogWriter.stdio, events = Events.new, env: ENV)
  @debug = false
  @argv = argv.dup
  @log_writer = log_writer
  @events = events
  @conf = nil
  @stdout = nil
  @stderr = nil
  @append = false
  @control_url = nil
  @control_options = {}
  setup_options env
  begin
    @parser.parse! @argv
    if file = @argv.shift
      @conf.configure do |user_config, file_config|
        file_config.rackup file
      end
    end
  rescue UnsupportedOption
    exit 1
  end
  @conf.configure do |user_config, file_config|
    if @stdout || @stderr
      user_config.stdout_redirect @stdout, @stderr, @append
    end
    if @control_url
      user_config.activate_control_app @control_url, @control_options
    end
  end
  @launcher = Puma::Launcher.new(@conf, env: ENV, log_writer: @log_writer, events: @events, argv: argv)
end