Class: Kettle::Dev::SetupCLI

Inherits:
Object
  • Object
show all
Defined in:
lib/kettle/dev/setup_cli.rb

Overview

SetupCLI bootstraps a host gem repository to use kettle-dev tooling.
It performs prechecks, syncs development dependencies, ensures bin/setup and
Rakefile templates, runs setup tasks, and invokes kettle:dev:install.

Usage:
Kettle::Dev::SetupCLI.new(ARGV).run!

Options are parsed from argv and passed through to the rake task as
key=value pairs (e.g., –force => force=true).

Instance Method Summary collapse

Constructor Details

#initialize(argv) ⇒ SetupCLI

Returns a new instance of SetupCLI.

Parameters:

  • argv (Array<String>)

    CLI arguments



21
22
23
24
25
26
# File 'lib/kettle/dev/setup_cli.rb', line 21

def initialize(argv)
  @argv = argv
  @passthrough = []
  @options = {}
  parse!
end

Instance Method Details

#run!void

This method returns an undefined value.

Execute the full setup workflow.



30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/kettle/dev/setup_cli.rb', line 30

def run!
  say("Starting kettle-dev setup…")
  prechecks!
  ensure_dev_deps!
  ensure_gemfile_from_example!
  ensure_modular_gemfiles!
  ensure_bin_setup!
  ensure_rakefile!
  run_bin_setup!
  run_bundle_binstubs!
  commit_bootstrap_changes!
  run_kettle_install!
  say("kettle-dev setup complete.")
end