aasm/lib/aasm/errors.rb

24 lines
711 B
Ruby
Raw Normal View History

2011-11-26 17:55:50 +00:00
module AASM
class UnknownStateMachineError < RuntimeError; end
class InvalidTransition < RuntimeError
attr_reader :object, :event_name, :state_machine_name, :failures
def initialize(object, event_name, state_machine_name, failures = [])
@object, @event_name, @state_machine_name, @failures = object, event_name, state_machine_name, failures
end
def message
"Event '#{event_name}' cannot transition from '#{object.aasm(state_machine_name).current_state}'. #{reasoning}"
end
def reasoning
"Failed callback(s): #{@failures}." unless failures.empty?
end
end
2011-11-26 17:55:50 +00:00
class UndefinedState < RuntimeError; end
class NoDirectAssignmentError < RuntimeError; end
2011-11-26 17:55:50 +00:00
end