Class: IOP::IOWriter
Overview
Sink class to write received upstream data to external IO stream.
Contrary to FileWriter, this class does not manage attached IO instance, e.g. it makes no attempt to close it after processing.
### Use case: concatenate two files.
require 'iop/file'
io = File.new('output.dat', 'wb')
begin
( IOP::FileReader.new('file1.dat') | IOP::IOWriter.new(io) ).process!
( IOP::FileReader.new('file2.dat') | IOP::IOWriter.new(io) ).process!
ensure
io.close
end
Direct Known Subclasses
Instance Attribute Summary
Attributes included from Sink
Instance Method Summary collapse
-
#initialize(io) ⇒ IOWriter
constructor
Creates class instance.
- #process(data = nil) ⇒ Object
Methods included from Sink
Constructor Details
#initialize(io) ⇒ IOWriter
Creates class instance.
142 143 144 |
# File 'lib/iop/file.rb', line 142 def initialize(io) @io = io end |
Instance Method Details
#process(data = nil) ⇒ Object
146 147 148 |
# File 'lib/iop/file.rb', line 146 def process(data = nil) @io.write(data) end |