TOP>>OBAQ>>OBAQシェル 概略ツアー<OBAQ>構成定義アプリケーションサーバリファレンスサイトマップ

OBAQオブジェクトの記述


OBAQモデルオブジェクトの定義

OBAQシェルによってオブジェクトを生成するためには、 classが以下の条件を満たしている必要があります。

  • モジュール Obaq::ModelObj を includeしていること
  • initializeの最初のパラメータがappであること
  • initializeのの中でinit_model(app, name)を呼ぶこと

OBAQモデルオブジェクトの提供すべきメソッド

  • initialize(app, name, ...)

    最初の引数は必ずapp(アプリケーションオブジェクト)になります。 アプリケーションオブジェクトは、OBAQオブジェクト全体を管理するシステムに一つだけ存在するオブジェクトです。 多くのOBAQの機能は、このオブジェクト経由で実行されます。 initializeの中ではinit_modelを呼び出して下さい。

    init_modelのひとつめの引数は、initializeで渡されたappになります。 ふたつ目の引数は、そのOBAQモデルオブジェクトの名前になります。 このオブジェクトが別のOBAQオブジェクトから参照される場合は名前をつけるようにして下さい。 ただし、そのオブジェクトがsingleton(あるクラスのオブジェクトがひとつしか生成されない場合)の時はクラス名で参照を得ることができるので名前は不要です。

  • build_model

    OBAQシェルが構成定義ファイルを読み終わった直後に、build_modelというメソッドが呼ばれます。 他のモデルオブジェクトとの関連づけ(を伴う初期化)を行う場合には、このメソッドの中で実行してください。

  • 構成定義ファイルから呼ばれるメソッド

    .メソッド名の形式で、構成定義ファイルからOBAQモデルオブジェクトのメソッドを呼ぶことができます。 このようなメソッドを提供する場合は、引数を全部文字列としてください。

  • 他のオブジェクトから呼ばれるメソッド

    Rubyの通常のメソッドとして記述できます。

OBAQモデルオブジェクトの利用できる主なメソッド

  • app.get_object(クラス名、名前)

    他のオブジェクトへの参照を得る場合に使用します。

  • app.each_object(クラス名) { ブロック }

    特定クラスのオブジェクト全てに対してブロックを繰り返すイテレータです。


ページトップへ