Class: Actor::Messaging::Publish
- Inherits:
-
Object
- Object
- Actor::Messaging::Publish
show all
- Includes:
- Send::Dependency
- Defined in:
- lib/actor/messaging/publish.rb,
lib/actor/messaging/publish/assertions.rb,
lib/actor/messaging/publish/dependency.rb,
lib/actor/messaging/publish/substitute.rb
Defined Under Namespace
Modules: Assertions, Dependency
Classes: Substitute
Instance Attribute Summary collapse
#send
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
Returns a new instance of Publish.
8
9
10
|
# File 'lib/actor/messaging/publish.rb', line 8
def initialize
@addresses = Set.new
end
|
Instance Attribute Details
#addresses ⇒ Object
Returns the value of attribute addresses.
6
7
8
|
# File 'lib/actor/messaging/publish.rb', line 6
def addresses
@addresses
end
|
Class Method Details
.build(*addresses) ⇒ Object
12
13
14
15
16
17
18
19
20
21
22
|
# 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
|
Instance Method Details
#call(message, wait: nil) ⇒ Object
32
33
34
35
36
|
# 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) ⇒ Object
24
25
26
|
# File 'lib/actor/messaging/publish.rb', line 24
def register address
addresses << address
end
|
#unregister(address) ⇒ Object
28
29
30
|
# File 'lib/actor/messaging/publish.rb', line 28
def unregister address
addresses.delete address
end
|