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