class GZippedTar::Writer

Public Instance Methods

add(path, contents) click to toggle source
# File lib/gzipped_tar/writer.rb, line 8
def add(path, contents)
  writer.add_file(path, 0o644) { |input| input.write contents }
end
output() click to toggle source
# File lib/gzipped_tar/writer.rb, line 12
def output
  io = binary_io

  gzip_writer = Zlib::GzipWriter.new io
  gzip_writer.write input_io.string
  gzip_writer.close

  io.string
end

Private Instance Methods

binary_io() click to toggle source
# File lib/gzipped_tar/writer.rb, line 24
def binary_io
  io = StringIO.new "".dup, "r+b"
  io.set_encoding "BINARY"
  io
end
input_io() click to toggle source
# File lib/gzipped_tar/writer.rb, line 30
def input_io
  @input_io ||= StringIO.new
end
writer() click to toggle source
# File lib/gzipped_tar/writer.rb, line 34
def writer
  @writer ||= GZippedTar::Tar::Writer.new input_io
end