2009-08-11から1日間の記事一覧

っていうか

ステートの遷移時に正しくない遷移先を指定したら、エラーを投げるべきなのでは…。 ガード条件はその前にチェックするのだから、あとは「ガード条件に合って、サポートしてない状態に落ちる」ようなtransitionsの定義がまずいような気がするのだが、どうだろ…

API仕様的には筋が通るのか…

上の記事の続き。 よくaasmを追っていったら、transitionsメソッドの:toオプションは複数を許容していたことが判明。とすれば、変更先ステートの指定が出来るのも頷けなくはない。ただ、私のステートマシンへの理解だと、同じイベントによって状態遷移が異な…

aasmの作るイベントメソッドがちょっと変

aasm_eventで定義されるイベントメソッドは、引数を取ることができる。これは、lib/aasm/aasm.rbに定義されているとおり。 def aasm_event(name, options = {}, &block) sm = AASM::StateMachine[self] unless sm.events.has_key?(name) sm.events[name] = A…