class SubshellCommand::StandardOutputStreamsExecutor

Attributes

command_object[R]
result[R]

Public Class Methods

new(command_object, result) click to toggle source
# File lib/subshell_command.rb, line 62
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 67
def execute
  Open3.popen3(
    command_object.env_hash,
    command_object.command_string,
    chdir: command_object.current_directory,
  ) do |stdin, stdout, stderr, wait_thr|
    exit_status = wait_thr.value
    result.stdout_value = stdout.read
    result.stderr_value = stderr.read
    result.success = exit_status.success?
  end
end