class GZippedTar::Tar::BoundedStream
Attributes
limit[R]
Maximum number of bytes that can be written
written[R]
Number of bytes written
Public Class Methods
new(io, limit)
click to toggle source
Wraps io
and allows up to limit
bytes to be written
# File lib/gzipped_tar/tar/bounded_stream.rb, line 18 def initialize(io, limit) @io = io @limit = limit @written = 0 end
Public Instance Methods
write(data)
click to toggle source
Writes data
onto the IO, raising a FileOverflow exception if the number of bytes will be more than limit
# File lib/gzipped_tar/tar/bounded_stream.rb, line 26 def write(data) if data.bytesize + @written > @limit raise GZippedTar::Tar::FileOverflow, "You tried to feed more data than fits in the file." end @io.write data @written += data.bytesize data.bytesize end