如何获得方法的别名?

How can I obtain the aliases of of a method?

给定一个module/class和定义在其上的实例方法的名称,如何获取该方法的所有别名?

不确定是否考虑迭代所有实例方法"brute force",但这可行:

class Foo
  def bar
  end

  alias bar2 bar
  alias_method :bar3, :bar
end

Foo.instance_methods.select do |m|
  Foo.instance_method(m) == Foo.instance_method(:bar)
end
#=> [:bar, :bar2, :bar3]