instance method
fire
Ruby on Rails 2.3.18
Since v2.2.3 Last seen in v2.3.18Available in: v2.2.3 v2.3.18
Signature
fire(obj, to_state = nil, *args)
No documentation comment.
Parameters
-
objreq -
to_stateopt = nil -
argsrest
Source
# File activemodel/lib/active_model/state_machine/event.rb, line 22
def fire(obj, to_state = nil, *args)
transitions = @transitions.select { |t| t.from == obj.current_state(@machine ? @machine.name : nil) }
raise InvalidTransition if transitions.size == 0
next_state = nil
transitions.each do |transition|
next if to_state && !Array(transition.to).include?(to_state)
if transition.perform(obj)
next_state = to_state || Array(transition.to).first
transition.execute(obj, *args)
break
end
end
next_state
end
Defined in activemodel/lib/active_model/state_machine/event.rb line 22
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveModel::StateMachine::Event