Wraps a Archive::Tar::Minitar::Writer with convenience methods and wrapped stream management; Output only works with random access data streams. See Output::new for details.
Creates a new Output object. If output is a stream object that responds to read), then it will simply be wrapped. Otherwise, one will be created and opened using Kernel#open. When Output#close is called, the stream object wrapped will be closed.
[ show source ]
# File lib/facets/minitar.rb, line 890 def initialize(output) if output.respond_to?(:write) @io = output else @io = ::File.open(output, "wb") end @tarwriter = Archive::Tar::Minitar::Writer.new(@io) end
With no associated block, +Output::open+ is a synonym for +Output::new+. If the optional code block is given, it will be passed the new writer as an argument and the Output object will automatically be closed when the block terminates. In this instance, +Output::open+ returns the value of the block.
[ show source ]
# File lib/facets/minitar.rb, line 873 def self.open(output) stream = Output.new(output) return stream unless block_given? begin res = yield stream ensure stream.close end res end
Closes the Writer object and the wrapped data stream.
[ show source ]
# File lib/facets/minitar.rb, line 905 def close @tarwriter.close @io.close end
Returns the Writer object for direct access.
[ show source ]
# File lib/facets/minitar.rb, line 900 def tar @tarwriter end