Sha256: cde847ebc9fe7df450425913b75a94a2b422886f41223ba4ca05e4e07a944f09

Contents?: true

Size: 757 Bytes

Versions: 11

Compression:

Stored size: 757 Bytes

Contents

module AASM

  class UnknownStateMachineError < RuntimeError; end

  class InvalidTransition < RuntimeError
    attr_reader :object, :event_name, :originating_state, :failures, :state_machine_name

    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_name = state_machine_name
      super("Event '#{event_name}' cannot transition from '#{originating_state}'.#{reasoning}")
    end

    def reasoning
      " Failed callback(s): #{failures}." unless failures.empty?
    end
  end

  class UndefinedState < RuntimeError; end
  class NoDirectAssignmentError < RuntimeError; end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
aasm-5.3.0 lib/aasm/errors.rb
aasm-5.2.0 lib/aasm/errors.rb
aasm-5.1.1 lib/aasm/errors.rb
aasm-5.1.0 lib/aasm/errors.rb
aasm-5.0.8 lib/aasm/errors.rb
aasm-5.0.7 lib/aasm/errors.rb
aasm-5.0.6 lib/aasm/errors.rb
aasm-5.0.5 lib/aasm/errors.rb
aasm-5.0.4 lib/aasm/errors.rb
aasm-5.0.3 lib/aasm/errors.rb
aasm-5.0.2 lib/aasm/errors.rb