Ruby 2.7.0 リファレンスマニュアル > ライブラリ一覧 > forwardableライブラリ > SingleForwardableモジュール

module SingleForwardable

クラス・モジュールの継承リスト: SingleForwardable

要約

オブジェクトに対し、メソッドの委譲機能を定義するモジュールです。

使い方

オブジェクトに対して extend して使います。

例:

require 'forwardable'
g = Goo.new
g.extend SingleForwardable
g.def_delegator("@out", :puts)
g.puts ...

また、SingleForwardable はクラスやモジュールに対して以下のようにする事もできます。

require 'forwardable'
class Implementation
  def self.service
    puts "serviced!"
  end
end

module Facade
  extend SingleForwardable
  def_delegator :Implementation, :service
end

Facade.service # => serviced!

もし ForwardableSingleForwardable の両方を使いたい場合、 def_instance_delegator と def_single_delegator メソッドの方を呼び出してください。

インスタンスメソッド

定義 説明
def_single_delegator(accessor, method, ali = method) -> ()
def_delegator(accessor, method, ali = method) -> ()

メソッドの委譲先を設定します。

def_single_delegators(accessor, *methods) -> ()
def_delegators(accessor, *methods) -> ()

メソッドの委譲先をまとめて設定します。

single_delegate(hash) -> ()
delegate(hash) -> ()

メソッドの委譲先を設定します。