読者です 読者をやめる 読者になる 読者になる

Ruby で alias_method の元の名前を取得する

RUbyalias_method した元の名前を取得したい場合 Method#original_name で取得することが出来ます。

class X
    def homu
        "homu"
    end

    alias_method :mami, :homu
    alias_method :mado, :mami
end

x = X.new
p x.method(:homu).original_name
# => :homu
p x.method(:mami).original_name
# => :homu
p x.method(:mado).original_name
# => :homu

[おまけ]

また、標準ライブラリも alias されているなら同様に取得することが出来ます。

p [].method(:to_s).original_name
# => :inspect