Ruby 3.4 リファレンスマニュアル

instance method Class#attached_object

attached_object -> objectRuby 3.2 から[permalink][rdoc][edit]

自身が特異クラスであるとき、その特異クラスが属しているオブジェクトを返します。

[EXCEPTION] TypeError:
自身が特異クラスでない場合に発生します。
class Foo; end

p Foo.singleton_class.attached_object      # => Foo

obj = Foo.new
p obj.singleton_class.attached_object.equal?(obj) # => true

# 特異クラスの特異クラスも特異クラスなので、その属するオブジェクトを返す
p Foo.singleton_class.singleton_class.attached_object # => #<Class:Foo>
例: 特異クラスでない場合
class Foo; end

Foo.attached_object       # ~> TypeError
NilClass.attached_object  # ~> TypeError

[SEE_ALSO] Object#singleton_class