Ruby method like `self` that refers to instance

oop, ruby

Solution

`self` always refers to an instance, but a class is itself an instance of `Class`. In certain contexts `self` will refer to such an instance.

class Hello
  # We are inside the body of the class, so `self`
  # refers to the current instance of `Class`
  p self

  def foo
    # We are inside an instance method, so `self`
    # refers to the current instance of `Hello`
    return self
  end

  # This defines a class method, since `self` refers to `Hello`
  def self.bar
    return self
  end
end

h = Hello.new
p h.foo
p Hello.bar

Output:

Hello
#<Hello:0x7ffa68338190>
Hello

Problem

Is there a method in Ruby that refers to the current instance of a class, in the way that `self` refers to the class itself?

Original source