Class: SkillBench::Cli::InitCommand

Inherits:
Object
  • Object
show all
Defined in:
lib/skill_bench/cli/init_command.rb

Overview

Handles the ‘skill-bench init` subcommand. Parses options and delegates to Commands::Init.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(argv) ⇒ InitCommand

Returns a new instance of InitCommand.

Parameters:

  • argv (Array<String>)

    Raw CLI arguments



18
19
20
# File 'lib/skill_bench/cli/init_command.rb', line 18

def initialize(argv)
  @argv = argv
end

Class Method Details

.call(argv) ⇒ Integer

Returns Exit code.

Parameters:

  • argv (Array<String>)

    Raw CLI arguments

Returns:

  • (Integer)

    Exit code



13
14
15
# File 'lib/skill_bench/cli/init_command.rb', line 13

def self.call(argv)
  new(argv).call
end

Instance Method Details

#callInteger

Parses options and runs init.

Returns:

  • (Integer)

    Exit code



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/skill_bench/cli/init_command.rb', line 25

def call
  options = { force: false, provider: nil }
  parser = build_parser(options)
  parser.parse!(@argv)

  return error_missing_provider unless options[:provider]

  Commands::Init.run(**options)
  puts "Created #{SkillBench::Config::CONFIG_FILENAME}"
  0
rescue SkillBench::HelpRequested
  0
rescue StandardError => e
  warn "Error: #{e.message}"
  1
end