Sha256: b29458294ff03ca48554984870b879f7bb4b2299e712bbff476b45d7b87014dd

Contents?: true

Size: 545 Bytes

Versions: 7

Compression:

Stored size: 545 Bytes

Contents

# encoding: utf-8

module FiniteMachine
  # A generic listener interface
  class Listener
    # Initialize a listener
    #
    # @api private
    def initialize(*args)
      @name = args.unshift
    end

    # Define event delivery handler
    #
    # @api public
    def on_delivery(&block)
      @on_delivery = block
      self
    end

    # Invoke event handler
    #
    # @api private
    def call(*args)
      @on_delivery.call(*args) if @on_delivery
    end
    alias_method :handle_delivery, :call
  end # Listener
end # FiniteMachine

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
finite_machine-0.11.3 lib/finite_machine/listener.rb
finite_machine-0.11.2 lib/finite_machine/listener.rb
finite_machine-0.11.1 lib/finite_machine/listener.rb
finite_machine-0.11.0 lib/finite_machine/listener.rb
finite_machine-0.10.2 lib/finite_machine/listener.rb
finite_machine-0.10.1 lib/finite_machine/listener.rb
finite_machine-0.10.0 lib/finite_machine/listener.rb