Module: Miyako::Diagram::NodeBase
- Defined in:
- lib/Miyako/API/diagram.rb
Overview
遷移ノードモジュール
遷移図のノードを構成するモジュール。
mixinすることで、ノード構成に必要なメソッドを定義できる。 あとは、initializeメソッドなどで、必要なインスタンスを作成することができる。 なお、本モジュールでは、値の格納用に @@node_var を予約しているため、注意が必要
Constant Summary collapse
- @@node_var =
{}
Instance Method Summary collapse
-
#[](name) ⇒ Object
現在実行しているノードの変数の値を取得するテンプレートメソッド Diagram#[] メソッドが呼ばれたときの処理を実装する.
-
#[]=(name, value) ⇒ Object
現在実行中のノードの変数に値を設定する Diagram#[]= メソッドが呼ばれたときの処理を実装する.
-
#dispose ⇒ Object
ノードのインスタンスを解放させるテンプレートメソッド Processor#dispose メソッドの呼び出したときに呼び出さされる.
-
#finish? ⇒ Boolean
ノードでの実行が終了しているかを示すフラグを返すテンプレートメソッド Manager#add_arrow メソッドの呼び出しで、移動条件を指定しなければ、このメソッドが呼ばれる。.
-
#pause ⇒ Object
ノードでの停止処理を実装する 停止処理を実装しないときは、本メソッドを実装する必要はない Processor#pause メソッドが呼ばれたときの処理を実装する.
-
#render ⇒ Object
ノードでのレンダリング処理を実装する Screen.update メソッドを呼び出しているときは、本メソッドを実装する必要はない Processor#render メソッドが呼ばれたときの処理を実装する.
-
#reset_input ⇒ Object
ノードでの入力デバイス処理の後始末を実装する 入力デバイス処理が必要ないときは、本メソッドを実装する必要はない Processor#reset_input メソッドが呼ばれたときの処理を実装する.
-
#resume ⇒ Object
ノードでの復帰処理を実装する 停止処理を実装しないときは、本メソッドを実装する必要はない Processor#resume メソッドが呼ばれたときの処理を実装する.
-
#start ⇒ Object
ノードでの開始処理を実装する Processor#start メソッドが呼ばれたとき、ノードの移動があった直後の処理を実装する.
-
#stop ⇒ Object
ノードでの中断処理を実装する Processor#stop メソッドが呼ばれたとき、ノードの移動する直前の処理を実装する.
-
#update(*params) ⇒ Object
ノードでの更新処理を実装する Processor#update メソッドが呼ばれたときの処理を実装する params:: Processor::updateメソッドが呼ばれた時のパラメータ群。オーバーライドするときに省略可能.
-
#update_input(*params) ⇒ Object
ノードでの入力デバイス処理を実装する 入力デバイス処理が必要ないときは、本メソッドを実装する必要はない Processor#update_input メソッドが呼ばれたときの処理を実装する params:: Processor::update_inputメソッドが呼ばれた時のパラメータ群。オーバーライドするときに省略可能.
Instance Method Details
#[](name) ⇒ Object
現在実行しているノードの変数の値を取得するテンプレートメソッド
Diagram#[] メソッドが呼ばれたときの処理を実装する
mixin されたクラス内でアクセスする際は、便宜上、“self”を使用する
- name
-
変数名(文字列・シンボル)
- 返却値
-
変数の値(デフォルトはnil)
105 106 107 108 109 110 111 |
# File 'lib/Miyako/API/diagram.rb', line 105 def [](name) unless @@node_var[self.object_id] @@node_var[self.object_id] = {} @@node_var[self.object_id].default = nil end return @@node_var[self.object_id][name] end |
#[]=(name, value) ⇒ Object
現在実行中のノードの変数に値を設定する
Diagram#[]= メソッドが呼ばれたときの処理を実装する
mixin されたクラス内でアクセスする際は、便宜上、“self=…”を使用する
- name
-
変数名(文字列・シンボル)
- value
-
設定したい値
119 120 121 122 123 124 125 |
# File 'lib/Miyako/API/diagram.rb', line 119 def []=(name, value) unless @@node_var[self.object_id] @@node_var[self.object_id] = {} @@node_var[self.object_id].default = nil end @@node_var[self.object_id][name] = value end |
#dispose ⇒ Object
ノードのインスタンスを解放させるテンプレートメソッド
Processor#dispose メソッドの呼び出したときに呼び出さされる
129 130 |
# File 'lib/Miyako/API/diagram.rb', line 129 def dispose end |
#finish? ⇒ Boolean
ノードでの実行が終了しているかを示すフラグを返すテンプレートメソッド
Manager#add_arrow メソッドの呼び出しで、移動条件を指定しなければ、このメソッドが呼ばれる。
ノードの終了を問い合わせる内容を本メソッドに実装する。
- 返却値
-
ノードの実行が終了していれば true を返す(デフォルトは無条件で false を返す)
95 96 97 |
# File 'lib/Miyako/API/diagram.rb', line 95 def finish? return false end |
#pause ⇒ Object
ノードでの停止処理を実装する
停止処理を実装しないときは、本メソッドを実装する必要はない Processor#pause メソッドが呼ばれたときの処理を実装する
56 57 |
# File 'lib/Miyako/API/diagram.rb', line 56 def pause end |
#render ⇒ Object
ノードでのレンダリング処理を実装する
Screen.update メソッドを呼び出しているときは、本メソッドを実装する必要はない Processor#render メソッドが呼ばれたときの処理を実装する
87 88 |
# File 'lib/Miyako/API/diagram.rb', line 87 def render end |
#reset_input ⇒ Object
ノードでの入力デバイス処理の後始末を実装する
入力デバイス処理が必要ないときは、本メソッドを実装する必要はない Processor#reset_input メソッドが呼ばれたときの処理を実装する
81 82 |
# File 'lib/Miyako/API/diagram.rb', line 81 def reset_input end |
#resume ⇒ Object
ノードでの復帰処理を実装する
停止処理を実装しないときは、本メソッドを実装する必要はない Processor#resume メソッドが呼ばれたときの処理を実装する
62 63 |
# File 'lib/Miyako/API/diagram.rb', line 62 def resume end |
#start ⇒ Object
ノードでの開始処理を実装する
Processor#start メソッドが呼ばれたとき、ノードの移動があった直後の処理を実装する
45 46 |
# File 'lib/Miyako/API/diagram.rb', line 45 def start end |
#stop ⇒ Object
ノードでの中断処理を実装する
Processor#stop メソッドが呼ばれたとき、ノードの移動する直前の処理を実装する
50 51 |
# File 'lib/Miyako/API/diagram.rb', line 50 def stop end |
#update(*params) ⇒ Object
ノードでの更新処理を実装する
Processor#update メソッドが呼ばれたときの処理を実装する
- params
-
Processor::updateメソッドが呼ばれた時のパラメータ群。オーバーライドするときに省略可能
75 76 |
# File 'lib/Miyako/API/diagram.rb', line 75 def update(*params) end |
#update_input(*params) ⇒ Object
ノードでの入力デバイス処理を実装する
入力デバイス処理が必要ないときは、本メソッドを実装する必要はない Processor#update_input メソッドが呼ばれたときの処理を実装する
- params
-
Processor::update_inputメソッドが呼ばれた時のパラメータ群。オーバーライドするときに省略可能
69 70 |
# File 'lib/Miyako/API/diagram.rb', line 69 def update_input(*params) end |