lib/finite_machine/dsl.rb in finite_machine-0.7.0 vs lib/finite_machine/dsl.rb in finite_machine-0.7.1

- old
+ new

@@ -66,15 +66,20 @@ # @return [StateMachine] # # @api public def initial(value) state, name, self.defer = parse(value) - unless defer - machine.state = state - machine.initial_state = state - end - event = proc { event name, from: FiniteMachine::DEFAULT_STATE, to: state } - machine.events_dsl.call(&event) + self.initial_event = name + machine.event(name, from: FiniteMachine::DEFAULT_STATE, to: state) + end + + # Trigger initial event + # + # @return [nil] + # + # @api private + def trigger_init + machine.send(:"#{initial_event}") unless defer end # Attach state machine to an object # # This allows state machine to initiate events in the context