Sha256: 2e95fa0f84305ba00ef929363fd93f92154f89cfbf328cf6846cc0d780a88b55

Contents?: true

Size: 843 Bytes

Versions: 3

Compression:

Stored size: 843 Bytes

Contents

# frozen_string_literal: true

require_relative 'threadable'

module FiniteMachine
  # A class representing a callback transition event
  #
  # Used internally by {Observer}
  #
  # @api private
  class TransitionEvent
    # This event from state name
    #
    # @return [Object]
    #
    # @api public
    attr_reader :from

    # This event to state name
    #
    # @return [Object]
    #
    # @api public
    attr_reader :to

    # This event name
    #
    # @api public
    attr_reader :name

    # Build a transition event
    #
    # @param [String] event_name
    # @param [String] from
    # @param [String] to
    #
    # @return [self]
    #
    # @api private
    def initialize(event_name, from, to)
      @name = event_name
      @from = from
      @to   = to
      freeze
    end
  end # TransitionEvent
end # FiniteMachine

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
finite_machine-0.13.0 lib/finite_machine/transition_event.rb
finite_machine-0.12.1 lib/finite_machine/transition_event.rb
finite_machine-0.12.0 lib/finite_machine/transition_event.rb