SystemCommand: Add debug parameter

This commit is contained in:
Sam Ford 2020-12-14 12:36:32 -05:00
parent a065dbcc9b
commit d94afb91dd
No known key found for this signature in database
GPG Key ID: 95209E46C7FFDEFE

View File

@ -74,13 +74,15 @@ class SystemCommand
must_succeed: T::Boolean,
print_stdout: T::Boolean,
print_stderr: T::Boolean,
debug: T::Boolean,
verbose: T::Boolean,
secrets: T.any(String, T::Array[String]),
chdir: T.any(String, Pathname),
).void
end
def initialize(executable, args: [], sudo: false, env: {}, input: [], must_succeed: false,
print_stdout: false, print_stderr: true, verbose: false, secrets: [], chdir: T.unsafe(nil))
print_stdout: false, print_stderr: true, debug: false, verbose: false, secrets: [],
chdir: T.unsafe(nil))
require "extend/ENV"
@executable = executable
@args = args
@ -95,6 +97,7 @@ class SystemCommand
@must_succeed = must_succeed
@print_stdout = print_stdout
@print_stderr = print_stderr
@debug = debug
@verbose = verbose
@secrets = (Array(secrets) + ENV.sensitive_environment.values).uniq
@chdir = chdir
@ -111,6 +114,13 @@ class SystemCommand
attr_predicate :sudo?, :print_stdout?, :print_stderr?, :must_succeed?
sig { returns(T::Boolean) }
def debug?
return super if @debug.nil?
@debug
end
sig { returns(T::Boolean) }
def verbose?
return super if @verbose.nil?