下のような、module A と Class C を準備したのですが、同じI/F の module B も準備して
Class C を共通で使いたくなりました。file C.rb で require "A" を "B" 、A::hoge を B::hoge
にするだけですが、class C (file C.rb) は1つのままにしたいです。さらに、Class C を
インスタンスするときにA,B を指示する I/F にはしたくないです。module A,B の wrapper を
用意してclass C はそれを使い、module の切り替えは global チックに行いたいのですが、
その wrapperをどのように記述したらよいかが、わかりません。。


file A.rb
module A
module_function
def hoge(x,y)
end
end

file B.rb
module B
module_function
def hoge(x,y)
end
end

file C.rb
require "A"
class C
def initilize(z)
@x = z
def hoge(w)
A::hoge(@x,w)
end
end