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