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 33 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 43 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