Class: Actor::Messaging::Publish::Substitute

Inherits:
Object
  • Object
show all
Defined in:
lib/actor/messaging/publish/substitute.rb

Defined Under Namespace

Modules: Assertions Classes: Record

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeSubstitute

Returns a new instance of Substitute.



9
10
11
12
13
# File 'lib/actor/messaging/publish/substitute.rb', line 9

def initialize
  @registered_addresses = Set.new
  @unregistered_addresses = Set.new
  @records = []
end

Instance Attribute Details

#recordsObject (readonly)

Returns the value of attribute records.



5
6
7
# File 'lib/actor/messaging/publish/substitute.rb', line 5

def records
  @records
end

#registered_addressesObject (readonly)

Returns the value of attribute registered_addresses.



6
7
8
# File 'lib/actor/messaging/publish/substitute.rb', line 6

def registered_addresses
  @registered_addresses
end

#unregistered_addressesObject (readonly)

Returns the value of attribute unregistered_addresses.



7
8
9
# File 'lib/actor/messaging/publish/substitute.rb', line 7

def unregistered_addresses
  @unregistered_addresses
end

Instance Method Details

#call(message, wait: nil) ⇒ Object



23
24
25
26
27
28
29
# File 'lib/actor/messaging/publish/substitute.rb', line 23

def call message, wait: nil
  wait = false if wait.nil?

  record = Record.new message, wait

  records << record
end

#register(address) ⇒ Object



15
16
17
# File 'lib/actor/messaging/publish/substitute.rb', line 15

def register address
  registered_addresses << address
end

#unregister(address) ⇒ Object



19
20
21
# File 'lib/actor/messaging/publish/substitute.rb', line 19

def unregister address
  unregistered_addresses << address
end