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

Ruby で include 後に prepend を行っても反映されない

当たり前といえば当たり前な気もするけど…。
Ruby#prepend を呼び出しても反映されなくてハマった。
どういうことかというとこういうこと。

module A
    def func
        puts "A"
        super
    end
end

module B
    def func
        puts "B"
    end
end

include B

# include よりもあとで prepend を追加しても A のメソッドは反映されない
module B
    prepend A
end

func
# => "B#func"

最近 Rubymodule を調べているんですが全くわからんこ。
誰か Rubymodule の仕様を教えてください…。