Class: Mailgun::Tracking::Notifier
- Inherits:
-
Object
- Object
- Mailgun::Tracking::Notifier
- Defined in:
- lib/mailgun/tracking/notifier.rb
Overview
Wraps the Listener which gives a friendlier way to subscribe or broadcast.
Instance Method Summary collapse
-
#all(callable = Proc.new) ⇒ NilClass
Adds a subscriber for all events.
-
#broadcast(event, payload) ⇒ NilClass
Broadcasts parameters to event subscribers.
-
#empty? ⇒ Boolean
Returns true if there is at least one subscriber.
-
#initialize(listener = Listener.new) ⇒ Mailgun::Tracking::Notifier
constructor
Initializes a new Notifier object.
-
#subscribe(event, callable = Proc.new) ⇒ NilClass
Adds subscriber for the specified event.
Constructor Details
#initialize(listener = Listener.new) ⇒ Mailgun::Tracking::Notifier
Initializes a new Notifier object.
10 11 12 |
# File 'lib/mailgun/tracking/notifier.rb', line 10 def initialize(listener = Listener.new) @listener ||= listener end |
Instance Method Details
#all(callable = Proc.new) ⇒ NilClass
Adds a subscriber for all events.
38 39 40 |
# File 'lib/mailgun/tracking/notifier.rb', line 38 def all(callable = Proc.new) listener.add_subscriber(nil, callable) end |
#broadcast(event, payload) ⇒ NilClass
Broadcasts parameters to event subscribers.
48 49 50 51 |
# File 'lib/mailgun/tracking/notifier.rb', line 48 def broadcast(event, payload) Signature.verify!(payload) listener.broadcast(event, payload) end |
#empty? ⇒ Boolean
Returns true if there is at least one subscriber.
17 18 19 |
# File 'lib/mailgun/tracking/notifier.rb', line 17 def empty? listener.subscribers.empty? end |
#subscribe(event, callable = Proc.new) ⇒ NilClass
Adds subscriber for the specified event.
28 29 30 |
# File 'lib/mailgun/tracking/notifier.rb', line 28 def subscribe(event, callable = Proc.new) listener.add_subscriber(event, callable) end |