Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

Rubyで状態遷移を実装できるGem「AASM」(その4_現在の状態を表示)

現在の状態を表示する場合、current_eventが使えます。

例えば、指定のメソッド中で現状のイベント名を提示したい場合

class AASM_Sample
  include AASM

  aasm do
    #中略
    event :sence, :after => :comment do
      transitions :from => :sleep, :to => :transmit
    end
    #中略
  end

  def comment
    puts "here: #{aasm.current_event}"
  end
end

とすれば

true
true
42
here: sence
true
false
false

と、ちゃんと現在のステータスが出るようになります。

参考もと