Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > forwardableライブラリ > Forwardableモジュール > def_delegator
def_instance_delegator(accessor, method, ali = method) -> ()
[permalink][rdoc]def_delegator(accessor, method, ali = method) -> ()
メソッドの委譲先を設定します。
委譲元のオブジェクトで ali が呼び出された場合に、 委譲先のオブジェクトの method へ処理が委譲されるようになります。
委譲元と委譲先のメソッド名が同じ場合は, ali を省略することが可能です。
def_delegator は def_instance_delegator の別名になります。
例:
require 'forwardable' class MyQueue extend Forwardable attr_reader :queue def initialize @queue = [] end def_delegator :@queue, :push, :mypush end q = MyQueue.new q.mypush 42 q.queue # => [42] q.push 23 # => NoMethodError
[SEE_ALSO] Forwardable#def_delegators