moduleの方が書き換えられないのなら、classの側でメソッドの再定義をしてはどうでしょうか。
以下のようにすればクラス内のメソッド名はそのままにメソッドを上書きできました。
注:確認しやすいようprivate句は外しています。
includeしたmoduleから取り込んだhogeメソッドのエイリアス(hogehuga)を
設定し、hogeメソッドを再定義しています。
この時hogehugaメソッド自体は元のメソッドを参照しているため、①部分ではhogehugaメソッドが
"hoge"を返し、再定義したhogeメソッド内で"fuga"が加えられ、最終的に"hogefuga"が返されます。
Ruby
1module A
2 module B
3 def hoge
4 return "hoge"
5 end
6 end
7end
8--------------------------------
9class Test
10 include A::B
11 alias_method :hogehuga, :hoge
12
13 def hoge
14 return hogehuga + "fuga" ←①
15 end
16end
17--------------------------------
18t = Test.new
19t.hoge
20=> "hogefuga"
21
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。