以下の内容はhttps://shuzo-kino.hateblo.jp/entry/2015/03/01/211718より取得しました。


Rubyで状態遷移を実装できるGem「AASM」(その1_導入)

AASMはRubyで状態遷移を実装できるGemです。

導入

$ gem install aasm

使い方

クラスの中で呼び出すDSLになっています。
たとえば…次のような、シンプルな状態遷移図を実装する場合は
f:id:shuzo_kino:20150301205341p:plain

require "aasm"

class AASM_Sample
  include AASM

  aasm do
    state :sleep, :initial => true
    state :sence
    state :transmit

    event :sleep do
      transitions :from => :transmit, :to => :sence
    end

    event :sence do
      transitions :from => :sleep, :to => :transmit
    end

    event :transmit do
      transitions :from => :sence, :to => :sleep
    end
  end
end

as = AASM_Sample.new
p as.sleep?
p as.may_sence?
p as.sence { p 42}
p as.sleep?
p as.sence?

とやれば、出力として

true
true
42
true
false
false

を得ます。

どうでもいい話

初見で自衛業さんの誘導弾かな?とか思いましたが、画像検索すると、同名の仏国製対地誘導弾の画像がでてきます。世界的には「sea」よか「surface」の方なんですねぇ(白目




以上の内容はhttps://shuzo-kino.hateblo.jp/entry/2015/03/01/211718より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14