Path  Archive::Tar::Minitar::Output

Parent

  • Object
Generated with Razzle Dazzle Redfish

[Validate]

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 vendor/path/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 vendor/path/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 vendor/path/minitar.rb, line 823
    def close
      @tarwriter.close
      @io.close
    end
tar() click to toggle source

Returns the Writer object for direct access.

# File vendor/path/minitar.rb, line 818
    def tar
      @tarwriter
    end

Disabled; run with --debug to generate this.