Update InvalidTransition to include state_machine_name

For easier debugging and error handling for models with multiple state_machines.
This non-breaking change add the state_machine name to the attributes of the InvalidTransition error
This commit is contained in:
Ahmed AbdelHalim 2018-12-10 15:19:23 +01:00 committed by Anil Kumar Maurya
parent 17cd78d832
commit cfb5479a8d
1 changed files with 2 additions and 1 deletions

View File

@ -3,10 +3,11 @@ module AASM
class UnknownStateMachineError < RuntimeError; end
class InvalidTransition < RuntimeError
attr_reader :object, :event_name, :originating_state, :failures
attr_reader :object, :event_name, :originating_state, :failures, :state_machine
def initialize(object, event_name, state_machine_name, failures = [])
@object, @event_name, @originating_state, @failures = object, event_name, object.aasm(state_machine_name).current_state, failures
@state_machine = state_machine_name
super("Event '#{event_name}' cannot transition from '#{originating_state}'.#{reasoning}")
end