Skip to Content Skip to Search

IO wrapper that allows writing a limited amount of data

Methods
N
W

Attributes

[R] limit

Maximum number of bytes that can be written

[R] written

Number of bytes written

Class Public methods

new(io, limit)

Wraps io and allows up to limit bytes to be written

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

Instance Public methods

write(data)

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

# File ruby/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