Module: Inform::Subscribers
- Included in:
- Publisher
- Defined in:
- lib/runtime/subscription.rb
Overview
The Subscribers module
Constant Summary collapse
- REGISTRY =
Struct.new(:memo).new(defined?(Java) ? java.util.concurrent.ConcurrentHashMap.new : {})
Instance Method Summary collapse
- #explicit_subscribers ⇒ Object
- #subscribe(obj) ⇒ Object
- #subscribers ⇒ Object
- #unsubscribe(obj) ⇒ Object
- #unsubscribe_all ⇒ Object
Instance Method Details
#explicit_subscribers ⇒ Object
43 44 45 |
# File 'lib/runtime/subscription.rb', line 43 def explicit_subscribers Inform::Subscribers::REGISTRY.memo[identity] ||= [] end |
#subscribe(obj) ⇒ Object
27 28 29 |
# File 'lib/runtime/subscription.rb', line 27 def subscribe(obj) explicit_subscribers << obj end |
#subscribers ⇒ Object
39 40 41 |
# File 'lib/runtime/subscription.rb', line 39 def subscribers explicit_subscribers.dup end |
#unsubscribe(obj) ⇒ Object
31 32 33 |
# File 'lib/runtime/subscription.rb', line 31 def unsubscribe(obj) explicit_subscribers.delete(obj) end |
#unsubscribe_all ⇒ Object
35 36 37 |
# File 'lib/runtime/subscription.rb', line 35 def unsubscribe_all explicit_subscribers.clear end |