要約
メソッドの委譲 (delegation) を行うためのライブラリです。
Delegator クラスは指定したオブジェクトにメソッドの実行を委譲します。 Delegator クラスを利用する場合はこれを継承して Delegator#__getobj__ メソッドを再定義して委譲先のオブジェクトを指定します。
SimpleDelegator は Delegator の利用例の一つであり、コンストラクタに渡されたオブジェクトにメソッドの実行を委譲します。
Kernel#DelegateClass は 引数で渡されたクラスのインスタンスをひとつとり、そのオブジェクトにインスタンスメソッドを委譲するクラスを定義して返します。
参考
- Rubyist Magazine - 標準添付ライブラリ紹介【第 6 回】委譲 https://magazine.rubyist.net/articles/0012/0012-BundledLibraries.html
クラス
Delegator | サブクラスにメソッド委譲の仕組みを提供する抽象クラス。 |
SimpleDelegator | Delegator クラスを継承し、シンプルなメソッド委譲を実現した具象クラス。 |