class GZippedTar::Tar::WriteFile
Attributes
initial[R]
io[R]
mode[R]
name[R]
writer[R]
Public Class Methods
call(writer, io, name, mode, &block)
click to toggle source
# File lib/gzipped_tar/tar/write_file.rb, line 4 def self.call(writer, io, name, mode, &block) new(writer, io, name, mode).call(&block) end
new(writer, io, name, mode)
click to toggle source
# File lib/gzipped_tar/tar/write_file.rb, line 8 def initialize(writer, io, name, mode) @writer = writer @io = io @name = name @mode = mode @initial = io.pos end
Public Instance Methods
call(&block)
click to toggle source
# File lib/gzipped_tar/tar/write_file.rb, line 16 def call(&block) # placeholder for the header io.write GZippedTar::Tar::EMPTY_ROW block.call GZippedTar::Tar::RestrictedStream.new(io) if block writer.pad_rows size overwrite_header end
Private Instance Methods
overwrite_header()
click to toggle source
# File lib/gzipped_tar/tar/write_file.rb, line 30 def overwrite_header current_position = io.pos io.pos = initial writer.write_header name, mode, :size => size io.pos = current_position end
size()
click to toggle source
# File lib/gzipped_tar/tar/write_file.rb, line 39 def size @size ||= io.pos - initial - GZippedTar::Tar::ROW_WIDTH end