Ravn::SpecHelpers::

PassingActor class

A Concurrent::Actor::Context that passes every message it receives to its children, and can be told to spawn child actors with :spawn messages.

Public Class Methods

logger_wrapper()
# File lib/ravn/spec_helpers.rb, line 98
def self::logger_wrapper
        return lambda do |loglevel, progname, message = nil, &block|
                Loggability[ self ].add( loglevel, message, progname, &block )
        end
end
to_spawn_options( name_or_opts, *args )
# File lib/ravn/spec_helpers.rb, line 91
def self::to_spawn_options( name_or_opts, *args )
        options = super
        options[ :logger ] ||= self.logger_wrapper

        return options
end

Public Instance Methods

on_message( message )
# File lib/ravn/spec_helpers.rb, line 104
def on_message( message )
        if message.respond_to?( :to_a )
                message, *args = message.to_a
        else
                args = []
        end

        case message
        when :spawn
                actor_class = args.shift
                return actor_class.spawn!( *args )
        else
                self.children.each{|c| c.tell( message ) }
        end
end