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

Ruby で #method_added が定義されてるモジュールを複数 mixin してみた。続き

Ruby

Ruby で #method_added が定義されてるモジュールを複数 mixin してみた。続き Twitter で教えてもらって super を使えば元のメソッドを呼びだせるみたい。

[コード]

module A
    def method_added name
        p "A#method_added: #{name}"
    end
end

module B
    def method_added name
        p "B#method_added: #{name}"
        super
    end
end

class X
    extend A
    extend B

    def self.method_added name
        p "X#method_added: #{name}"
        super
    end

    def homu
        
    end
end

[出力]

"X#method_added: homu"
"B#method_added: homu"
"A#method_added: homu"

とりあえず、これで呼び出すことはできるぽい。