Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > delegateライブラリ > Delegatorクラス

class Delegator

クラスの継承リスト: Delegator < Object < Kernel

要約

サブクラスにメソッド委譲の仕組みを提供する抽象クラス。

メソッド委譲を行う場合は、本クラスを継承しDelegator#__getobj__を再定義する必要があります。

具体的な使用例については、SimpleDelegatorを参照してください。

目次

インスタンスメソッド
__getobj__ marshal_dump marshal_load method_missing respond_to?
定数
IgnoreBacktracePat

インスタンスメソッド

__getobj__ -> object[permalink][rdoc]

委譲先のオブジェクトを返します。

本メソッドは、サブクラスで再定義する必要があり、 デフォルトでは NotImplementedError が発生します。

[EXCEPTION] NotImplementedError:
サブクラスにて本メソッドが再定義されていない場合に発生します。
marshal_dump -> object[permalink][rdoc]

シリアライゼーションをサポートするためにDelegator#__getobj__ が返すオブジェクトを返します。

marshal_load(obj) -> object[permalink][rdoc]

シリアライズされたオブジェクトから、Delegator#__getobj__ が返すオブジェクトを再現します。

[PARAM] obj:
Delegator#marshal_dumpの戻り値のコピー
method_missing(m, *args) -> object[permalink][rdoc]

渡されたメソッド名と引数を使って、Delegator#__getobj__ が返すオブジェクトへメソッド委譲を行います。

[PARAM] m:
メソッドの名前(シンボル)
[PARAM] args:
メソッドに渡された引数
[RETURN]
委譲先のメソッドからの返り値

[SEE_ALSO] Object#method_missing

respond_to?(m) -> bool[permalink][rdoc]

Delegator#__getobj__ が返すオブジェクトが メソッド m を持つとき真を返します。

[PARAM] m:
メソッド名

[SEE_ALSO] Object#respond_to?

定数

IgnoreBacktracePat -> Regexp[permalink][rdoc]

バックトレースで無視するパターンを返します。