instance method
fire_event
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_event(event, record, persist, *args)
No documentation comment.
Parameters
-
eventreq -
recordreq -
persistreq -
argsrest
Source
# File activemodel/lib/active_model/state_machine/machine.rb, line 26
def fire_event(event, record, persist, *args)
state_index[record.current_state(@name)].call_action(:exit, record)
if new_state = @events[event].fire(record, *args)
state_index[new_state].call_action(:enter, record)
if record.respond_to?(event_fired_callback)
record.send(event_fired_callback, record.current_state, new_state)
end
record.current_state(@name, new_state, persist)
record.send(@events[event].success) if @events[event].success
true
else
if record.respond_to?(event_failed_callback)
record.send(event_failed_callback, event)
end
false
end
end
Defined in activemodel/lib/active_model/state_machine/machine.rb line 26
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveModel::StateMachine::Machine