class ObjectSpace::InternalObjectWrapper - RDoc Documentation

# class 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));
    }