class Gem::Package::TarWriter::BoundedStream - Documentation for Ruby 4.0
Description: class Gem::Package::TarWriter::BoundedStream: IO wrapper that allows writing a limited amount of data
Keywords: ruby,class,Gem::Package::TarWriter::BoundedStream

🔍

No recent searches

# class Gem::Package::TarWriter::BoundedStream

`IO` wrapper that allows writing a limited amount of data

### Attributes

limit [R]

Maximum number of bytes that can be written

written [R]

Number of bytes written

### Public Class Methods

new (io, limit)
Source

    # File lib/rubygems/package/tar_writer.rb, line 33
    def initialize(io, limit)
      @io = io
      @limit = limit
      @written = 0
    end

Wraps `io` and allows up to `limit` bytes to be written

### Public Instance Methods

write (data)
Source

    # 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

Writes `data` onto the `IO`, raising a `FileOverflow` exception if the number of bytes will be more than `limit`