IO
wrapper that allows writing a limited amount of data
Attributes
Read
Maximum number of bytes that can be written
Read
Number of bytes written
Class Methods
lib/rubygems/package/tar_writer.rb
View on GitHub
# File tmp/rubies/ruby-2.6.10/lib/rubygems/package/tar_writer.rb, line 34
def initialize(io, limit)
@io = io
@limit = limit
@written = 0
end
Wraps io
and allows up to limit
bytes to be written
Instance Methods
lib/rubygems/package/tar_writer.rb
View on GitHub
# File tmp/rubies/ruby-2.6.10/lib/rubygems/package/tar_writer.rb, line 44
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
Writes data
onto the IO
, raising a FileOverflow
exception if the number of bytes will be more than limit