add_file_simple(name, mode, size)
public
Add file name with permissions
mode size bytes long. Yields an IO to write the file to.
# File lib/rubygems/package/tar_writer.rb, line 212
def add_file_simple(name, mode, size) # :yields: io
check_closed
name, prefix = split_name name
header = Gem::Package::TarHeader.new(:name => name, :mode => mode,
:size => size, :prefix => prefix,
:mtime => ENV["SOURCE_DATE_EPOCH"] ? Time.at(ENV["SOURCE_DATE_EPOCH"].to_i).utc : Time.now).to_s
@io.write header
os = BoundedStream.new @io, size
yield os if block_given?
min_padding = size - os.written
@io.write("\00"" * min_padding)
remainder = (512 - (size % 512)) % 512
@io.write("\00"" * remainder)
self
end