Method: Stator::Machine#transition

Defined in:
lib/stator/machine.rb

#transition(name, &block) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/stator/machine.rb', line 37

def transition(name, &block)
  t = ::Stator::Transition.new(@class_name, name, @namespace)
  t.instance_eval(&block) if block_given?

  verify_transition_validity(t)

  @transitions      << t
  @transition_names |= [t.full_name]  unless t.full_name.blank?
  @states           |= [t.to_state]   unless t.to_state.nil?

  t
end