class Tracetool::Pipe::Executor

Executes shell command

Public Class Methods

new(cmd, *args) click to toggle source
# File lib/tracetool/utils/pipe.rb, line 8
def initialize(cmd, *args)
  @cmd = cmd
  @args = args
end

Public Instance Methods

<<(args) click to toggle source
# File lib/tracetool/utils/pipe.rb, line 17
def <<(args)
  out, err, status = Open3.capture3({}, *cmd, stdin_data: args)
  raise "#{cmd.join(' ')} (exit: #{status.exitstatus}) #{err.chomp}" unless status.success?

  out.chomp
end
cmd() click to toggle source
# File lib/tracetool/utils/pipe.rb, line 13
def cmd
  [@cmd, @args].flatten
end