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.
Methods
close
new
open
tar
Public Class methods
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.
[ + ]
# File lib/more/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.
[ + ]
# File lib/more/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
Public Instance methods