Class: Message::PubSub
- Inherits:
-
Object
- Object
- Message::PubSub
- Defined in:
- lib/message/pub_sub.rb,
lib/message/version.rb
Constant Summary collapse
- VERSION =
"1.0.0"
Class Method Summary collapse
- .has_subscribers? ⇒ Boolean
- .publish(event, message) ⇒ Object
- .subscribe(subscriber, event) ⇒ Object
- .subscribers ⇒ Object
Class Method Details
.has_subscribers? ⇒ Boolean
30 31 32 |
# File 'lib/message/pub_sub.rb', line 30 def has_subscribers? subscribers.size > 0 end |
.publish(event, message) ⇒ Object
20 21 22 23 24 |
# File 'lib/message/pub_sub.rb', line 20 def publish(event, ) queue[event].each { |subscriber| subscriber.send(event, ) } rescue Exception => e raise Message::PubSubError.new({:error => e}) end |
.subscribe(subscriber, event) ⇒ Object
16 17 18 |
# File 'lib/message/pub_sub.rb', line 16 def subscribe(subscriber, event) queue[event] = Array.wrap(queue[event]).push(subscriber) end |
.subscribers ⇒ Object
26 27 28 |
# File 'lib/message/pub_sub.rb', line 26 def subscribers queue.keys end |