class Actor::Messaging::Publish

Attributes

addresses[R]

Public Class Methods

build(*addresses) click to toggle source
# File lib/actor/messaging/publish.rb, line 12
def self.build *addresses
  instance = new

  addresses.each do |address|
    instance.register address
  end

  instance.send = Send.new

  instance
end
new() click to toggle source
# File lib/actor/messaging/publish.rb, line 8
def initialize
  @addresses = Set.new
end

Public Instance Methods

call(message, wait: nil) click to toggle source
# File lib/actor/messaging/publish.rb, line 32
def call message, wait: nil
  addresses.each do |address|
    send.(message, address, wait: wait)
  end
end
register(address) click to toggle source
# File lib/actor/messaging/publish.rb, line 24
def register address
  addresses << address
end
registered?(address) click to toggle source
# File lib/actor/messaging/publish.rb, line 38
def registered? address
  addresses.include? address
end
unregister(address) click to toggle source
# File lib/actor/messaging/publish.rb, line 28
def unregister address
  addresses.delete address
end