Module: Spoom

Extended by:
T::Sig
Defined in:
lib/spoom/colors.rb,
lib/spoom.rb,
lib/spoom/cli.rb,
lib/spoom/git.rb,
lib/spoom/sorbet.rb,
lib/spoom/cli/lsp.rb,
lib/spoom/cli/run.rb,
lib/spoom/printer.rb,
lib/spoom/version.rb,
lib/spoom/cli/bump.rb,
lib/spoom/coverage.rb,
lib/spoom/timeline.rb,
lib/spoom/file_tree.rb,
lib/spoom/cli/config.rb,
lib/spoom/cli/helper.rb,
lib/spoom/sorbet/lsp.rb,
lib/spoom/coverage/d3.rb,
lib/spoom/cli/coverage.rb,
lib/spoom/sorbet/config.rb,
lib/spoom/sorbet/errors.rb,
lib/spoom/sorbet/sigils.rb,
lib/spoom/sorbet/metrics.rb,
lib/spoom/coverage/d3/pie.rb,
lib/spoom/coverage/report.rb,
lib/spoom/sorbet/lsp/base.rb,
lib/spoom/coverage/d3/base.rb,
lib/spoom/coverage/snapshot.rb,
lib/spoom/sorbet/lsp/errors.rb,
lib/spoom/coverage/d3/timeline.rb,
lib/spoom/test_helpers/project.rb,
lib/spoom/sorbet/lsp/structures.rb,
lib/spoom/coverage/d3/circle_map.rb

Overview

typed: strict frozen_string_literal: true

Defined Under Namespace

Modules: Cli, Colorize, Coverage, Git, LSP, Sorbet, TestHelpers Classes: Color, Error, ExecResult, FileTree, Printer, Timeline

Constant Summary collapse

SPOOM_PATH =
T.let((Pathname.new(__FILE__) / ".." / "..").to_s, String)
VERSION =
"1.1.10"

Class Method Summary collapse

Class Method Details

.exec(cmd, *arg, path: '.', capture_err: false) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/spoom.rb', line 29

def self.exec(cmd, *arg, path: '.', capture_err: false)
  if capture_err
    stdout, stderr, status = T.unsafe(Open3).capture3([cmd, *arg].join(" "), chdir: path)
    ExecResult.new(
      out: stdout,
      err: stderr,
      status: status.success?,
      exit_code: status.exitstatus
    )
  else
    stdout, status = T.unsafe(Open3).capture2([cmd, *arg].join(" "), chdir: path)
    ExecResult.new(
      out: stdout,
      err: "",
      status: status.success?,
      exit_code: status.exitstatus
    )
  end
end