Module: Seams::CLI

Defined in:
lib/seams/cli.rb,
lib/seams/cli/list.rb,
lib/seams/cli/quality.rb,
lib/seams/cli/resolve.rb,
lib/seams/cli/test_changed.rb

Overview

Top-level CLI aggregator. Each public method delegates to a single-purpose CLI class so the rake tasks (and bin/seams) have one entry point. Returns true on success, false on failure —callers translate that into a process exit code.

Seams::CLI.list                            # bin/rails seams:list
Seams::CLI.test_changed(base: "main")      # seams:test:changed
Seams::CLI.quality                         # seams:quality:all
Seams::CLI.resolve(mode: :eject, ...)      # bin/seams resolve --eject ...

Defined Under Namespace

Classes: List, Quality, Resolve, TestChanged

Class Method Summary collapse

Class Method Details

.list(engines_root: "engines", output: $stdout) ⇒ Object



22
23
24
# File 'lib/seams/cli.rb', line 22

def list(engines_root: "engines", output: $stdout)
  Seams::CLI::List.new(engines_root: engines_root, output: output).call
end

.quality(engines_root: "engines", output: $stdout) ⇒ Object



34
35
36
# File 'lib/seams/cli.rb', line 34

def quality(engines_root: "engines", output: $stdout)
  Seams::CLI::Quality.new(engines_root: engines_root, output: output).call
end

.resolve(mode:, argument: nil, engines_root: "engines", output: $stdout, error: $stderr) ⇒ Object



38
39
40
41
42
43
44
45
46
# File 'lib/seams/cli.rb', line 38

def resolve(mode:, argument: nil, engines_root: "engines", output: $stdout, error: $stderr)
  Seams::CLI::Resolve.new(
    mode: mode,
    argument: argument,
    engines_root: engines_root,
    output: output,
    error: error
  ).call
end

.test_changed(base: "main", engines_root: "engines", output: $stdout) ⇒ Object



26
27
28
29
30
31
32
# File 'lib/seams/cli.rb', line 26

def test_changed(base: "main", engines_root: "engines", output: $stdout)
  Seams::CLI::TestChanged.new(
    base: base,
    engines_root: engines_root,
    output: output
  ).call
end