331: def add_file_simple(name, opts = {})
332: raise Archive::Tar::Minitar::BlockRequired unless block_given?
333: raise Archive::Tar::ClosedStream if @closed
334:
335: name, prefix = split_name(name)
336:
337: header = { :name => name, :mode => opts[:mode], :mtime => opts[:mtime],
338: :size => opts[:size], :gid => opts[:gid], :uid => opts[:uid],
339: :prefix => prefix }
340: header = Archive::Tar::PosixHeader.new(header).to_s
341: @io.write(header)
342:
343: os = BoundedStream.new(@io, opts[:size])
344: yield os
345:
346:
347: min_padding = opts[:size] - os.written
348: @io.write("\0" * min_padding)
349: remainder = (512 - (opts[:size] % 512)) % 512
350: @io.write("\0" * remainder)
351: end