クラスに対しメソッドの委譲機能を定義するモジュールです.
クラスに対して extend して使います. include でないところに注意して下さい。
class Foo extend Forwardable def_delegators("@out", "printf", "print") def_delegators(:@in, :gets) def_delegator(:@contents, :[], "content_at") end f = Foo.new f.printf ... f.gets f.content_at(1)
def_instance_delegators(accessor, *methods)
methods で渡されたメソッドのリストを accessor に委譲する ようにします.
def_instance_delegator(accessor, method, ali = method)
method で渡されたメソッドを accessor に委譲するようにし ます. aliが引数として渡されたときは, メソッドaliが呼ば れたときには, accessor に対し method を呼び出します.
def_delegators(accessor, *methods)
def_instance_delegators の 別名です.
def_delegator(accessor, method, ali = method)
def_instance_delegator の別名です.