IO::MultiWriter
An IO which writes to a number of underlying writer IOs.
io1 = IO::Memory.new
io2 = IO::Memory.new
writer = IO::MultiWriter.new(io1, io2)
writer.puts "foo bar"
io1.to_s # => "foo bar\n"
io2.to_s # => "foo bar\n"
Constructors
Creates a new IO::MultiWriter which writes to writers. If
sync_close is set, calling #close calls #close on all underlying
writers.
Instance methods
closed?
Returns true if this IO is closed.
IO defines returns false, but including types may override.
flush
Flushes buffered data, if any.
IO defines this is a no-op method, but including types may override.
Reads at most slice.size bytes from this IO into slice.
Returns the number of bytes read, which is 0 if and only if there is no
more data to read (so checking for 0 is the way to detect end of file).
io = IO::Memory.new "hello"
slice = Bytes.new(4)
io.read(slice) # => 4
slice # => Bytes[104, 101, 108, 108]
io.read(slice) # => 1
slice # => Bytes[111, 101, 108, 108]
io.read(slice) # => 0