Parent

Archive::Tar::Minitar::Output

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.

Public Class Methods

new(output) click to toggle source

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/archive/tar/minitar.rb, line 808
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
open(output) click to toggle source

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/archive/tar/minitar.rb, line 791
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

close() click to toggle source

Closes the Writer object and the wrapped data stream.

# File lib/archive/tar/minitar.rb, line 823
def close
  @tarwriter.close
  @io.close
end
tar() click to toggle source

Returns the Writer object for direct access.

# File lib/archive/tar/minitar.rb, line 818
def tar
  @tarwriter
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.