method
fire_event
v2.3.2 -
Show latest stable
-
0 notes -
Class: ActiveModel::StateMachine::Machine
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1 (0)
- 2.3.2 (0)
- 2.3.8 (0)
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.1
- 3.2.3
- 3.2.8
- 3.2.13
- What's this?
fire_event(event, record, persist, *args)
public
Hide 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


