Class: ObjectSpace::InternalObjectWrapper (Ruby 2.5.7)
Description: Class : ObjectSpace::InternalObjectWrapper - Ruby 2.5.7

### Home Classes Methods

### In Files

- objspace/objspace.c

### Parent

Object

### Methods

- #inspect
- #internal_object_id
- #type

### Class/Module Index

Quicksearch

- ObjectSpace
- ObjectSpace::InternalObjectWrapper

No matching classes.

# ObjectSpace::InternalObjectWrapper

This class is used as a return value from `ObjectSpace::reachable_objects_from`.

When `ObjectSpace::reachable_objects_from` returns an object with references to an internal object, an instance of this class is returned.

You can use the `type` method to check the type of the internal object.

### Public Instance Methods

inspect() click to toggle source

See Object#inspect.

                   static VALUE
    iow_inspect(VALUE self)
    {
        VALUE obj = (VALUE)DATA_PTR(self);
        VALUE type = type2sym(BUILTIN_TYPE(obj));

        return rb_sprintf("#<InternalObject:%p %"PRIsVALUE">", (void *)obj, rb_sym2str(type));
    }

internal_object_id() click to toggle source

Returns the Object#object_id of the internal object.

                   static VALUE
    iow_internal_object_id(VALUE self)
    {
        VALUE obj = (VALUE)DATA_PTR(self);
        return rb_obj_id(obj);
    }

type() click to toggle source

Returns the type of the internal object.

                   static VALUE
    iow_type(VALUE self)
    {
        VALUE obj = (VALUE)DATA_PTR(self);
        return type2sym(BUILTIN_TYPE(obj));
    }