class ProcessExecuter::Destinations::Tee

@api private
being the destinations.
The destination is an array with the first element being :tee and the rest
Handles destination for writing to multiple destinations

def self.handles?(destination)

Returns:
  • (Boolean) - true if destination is an Array with path, mode, and permissions

Parameters:
  • destination (Object) -- the destination to check
def self.handles?(destination)
  destination.is_a?(Array) && destination.size > 1 && destination[0] == :tee
end

def close

Returns:
  • (void) -
def close
  child_destinations.each(&:close)
end

def initialize(destination)

Raises:
  • (ArgumentError) - if the mode is invalid
  • (Errno::ENOENT) - if the file path is invalid

Returns:
  • (FilePathModePerms) - a new handler instance

Parameters:
  • destination (Array) -- array with file path, mode, and permissions
def initialize(destination)
  super
  @child_destinations = destination[1..].map { |dest| ProcessExecuter::Destinations.factory(dest) }
end

def write(data)

Raises:
  • (IOError) - if the file is closed

Returns:
  • (Integer) - the number of bytes written

Parameters:
  • data (String) -- the data to write
def write(data)
  super
  child_destinations.each { |dest| dest.write(data) }
end