class SubshellCommand::CombinedOutputStreamsExecutor

Attributes

command_object[R]
result[R]

Public Class Methods

new(command_object, result) click to toggle source
# File lib/subshell_command.rb, line 84
def initialize(command_object, result)
  @command_object = command_object
  @result = result
end

Public Instance Methods

execute() click to toggle source
# File lib/subshell_command.rb, line 89
def execute
  Open3.popen2e(
    command_object.env_hash,
    command_object.command_string,
    chdir: command_object.current_directory,
  ) do |stdin, output_streams, wait_thr|
    exit_status = wait_thr.value
    output_value = output_streams.read
    result.stdout_value = output_value
    result.stderr_value = output_value
    result.success = exit_status.success?
  end
end