Sha256: 2b3d99ab801dbe90e131bf4fca99a0ed414695fd042282f9cbc808b8714f9027

Contents?: true

Size: 859 Bytes

Versions: 4

Compression:

Stored size: 859 Bytes

Contents

# encoding: utf-8

module FiniteMachine
  # A class representing a callback transition event
  #
  # Used internally by {Observer}
  #
  # @api private
  class TransitionEvent
    include Threadable

    # This event from state name
    #
    # @return [Object]
    #
    # @api public
    attr_threadsafe :from

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

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

    # Build a transition event
    #
    # @param [FiniteMachine::Transition] transition
    #
    # @return [self]
    #
    # @api private
    # def initialize(transition, *data)
    def initialize(hook_event, to)
      @name = hook_event.event_name
      @from = hook_event.from
      @to   = to
      freeze
    end
  end # TransitionEvent
end # FiniteMachine

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
finite_machine-0.11.3 lib/finite_machine/transition_event.rb
finite_machine-0.11.2 lib/finite_machine/transition_event.rb
finite_machine-0.11.1 lib/finite_machine/transition_event.rb
finite_machine-0.11.0 lib/finite_machine/transition_event.rb