class Dip::Command
Public Class Methods
exec_program(*args, **kwargs)
click to toggle source
# File lib/dip/command.rb, line 29 def exec_program(*args, **kwargs) run(ProgramRunner, *args, **kwargs) end
exec_subprocess(*args, **kwargs)
click to toggle source
# File lib/dip/command.rb, line 33 def exec_subprocess(*args, **kwargs) run(SubprocessRunner, *args, **kwargs) end
Private Class Methods
run(runner, cmd, argv = [], shell: true, **options)
click to toggle source
# File lib/dip/command.rb, line 39 def run(runner, cmd, argv = [], shell: true, **options) cmd = Dip.env.interpolate(cmd) argv = [argv] if argv.is_a?(String) argv = argv.map { |arg| Dip.env.interpolate(arg) } cmdline = [cmd, *argv].compact cmdline = cmdline.join(" ").strip if shell puts [Dip.env.vars, cmdline].inspect if Dip.debug? runner.call(cmdline, env: Dip.env.vars, **options) end