Module: Lich::Main::ArgvOptions

Defined in:
documented/main/argv_options.rb

Overview

Orchestrates ARGV processing: parsing -> validation -> handler execution -> side effects

Defined Under Namespace

Modules: GameConnection, OptionParser, SideEffects

Class Method Summary collapse

Class Method Details

.process_argvObject

Main orchestrator: Step 1-4 of ARGV processing



548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
# File 'documented/main/argv_options.rb', line 548

def self.process_argv
  # Step 1: Clean launcher.exe
  ARGV.delete_if { |arg| arg =~ /launcher\.exe/i }

  begin
    ArgNormalization.normalize!(ARGV)
  rescue ArgumentError => e
    $stderr.puts "error: #{e.message}"
    exit 1
  end

  # Step 2: Handle early-exit CLI operations (now in lib/common/cli/cli_orchestration.rb)
  Lich::Common::CLI::CLIOrchestration.execute

  # Step 3: Parse normal options and build @argv_options
  processed_options = ArgvOptions::OptionParser.execute

  # Step 4: Apply side effects and handle special cases
  processed_options = ArgvOptions::SideEffects.execute(processed_options)

  # Step 5: Handle game connection configuration
  processed_options = ArgvOptions::GameConnection.execute(processed_options)

  processed_options
end