class Gem::Package::TarWriter::BoundedStream
IO wrapper that allows writing a limited amount of data
Attributes
Maximum number of bytes that can be written
Number of bytes written
Public Class Methods
Wraps io and allows up to limit bytes to be written
# File lib/rubygems/package/tar_writer.rb, line 31 def initialize(io, limit) @io = io @limit = limit @written = 0 end
Public Instance Methods
Writes data onto the IO, raising a FileOverflow exception if the number of bytes will be more than limit
# File lib/rubygems/package/tar_writer.rb, line 41 def write(data) if data.bytesize + @written > @limit raise FileOverflow, "You tried to feed more data than fits in the file." end @io.write data @written += data.bytesize data.bytesize end