piotrmurach/finite_machine

View on GitHub
lib/finite_machine/undefined_transition.rb

Summary

Maintainability
A
0 mins
Test Coverage
# frozen_string_literal: true

module FiniteMachine
  # Stand in for lack of matching transition.
  #
  # Used internally by {EventsMap}
  #
  # @api private
  class UndefinedTransition
    # Initialize an undefined transition
    #
    # @api private
    def initialize(name)
      @name = name
      freeze
    end

    def to_state(from)
      from
    end

    def ==(other)
      other.is_a?(UndefinedTransition) && name == other.name
    end

    protected

    attr_reader :name

  end # UndefinedTransition
end # FiniteMachine