class Aggro::ConcurrentActor

Private: Wraps a given target in an concurrent actor.

Public Class Methods

new(target) click to toggle source
# File lib/aggro/concurrent_actor.rb, line 4
def initialize(target)
  @target = target
end

Public Instance Methods

on_message(message) click to toggle source
# File lib/aggro/concurrent_actor.rb, line 8
def on_message(message)
  if command? message
    @target.send :apply_command, message
  elsif query? message
    @target.send :run_query, message
  end
end

Private Instance Methods

command?(message) click to toggle source
# File lib/aggro/concurrent_actor.rb, line 18
def command?(message)
  message.class.included_modules.include? Command
end
query?(message) click to toggle source
# File lib/aggro/concurrent_actor.rb, line 22
def query?(message)
  message.class.included_modules.include? Query
end