End of Life Ruby 3.1 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →
instance method
IO::Buffer#empty?
external? → true or false
io_buffer.c
View on GitHub ↗
static VALUE
rb_io_buffer_empty_p(VALUE self)
{
struct rb_io_buffer *data = NULL;
TypedData_Get_Struct(self, struct rb_io_buffer, &rb_io_buffer_type, data);
return RBOOL(data->size == 0);
}
If the buffer is _external_, meaning it references from memory which is not allocated or mapped by the buffer itself. A buffer created using ::for has an external reference to the string's memory.
External buffer can’t be resized.