给定一个模块/类以及在其上定义的实例方法的名称,如何获取该方法的所有别名?
答案 0 :(得分:3)
不确定迭代所有实例方法是否被视为“暴力”,但这可行:
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]