Class: DispatchRider::NotificationServices::Base
- Inherits:
-
Object
- Object
- DispatchRider::NotificationServices::Base
- Extended by:
- Forwardable
- Defined in:
- lib/dispatch-rider/notification_services/base.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#channel_registrar ⇒ Object
readonly
Returns the value of attribute channel_registrar.
-
#notifier ⇒ Object
readonly
Returns the value of attribute notifier.
Instance Method Summary collapse
- #channel(name) ⇒ Object
- #channel_registrar_builder ⇒ Object
- #channels(names) ⇒ Object
-
#initialize(options = {}) ⇒ Base
constructor
A new instance of Base.
- #message_builder ⇒ Object
- #notifier_builder ⇒ Object
- #publish(options) ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ Base
Returns a new instance of Base.
18 19 20 21 |
# File 'lib/dispatch-rider/notification_services/base.rb', line 18 def initialize( = {}) @notifier = notifier_builder.new() @channel_registrar = channel_registrar_builder.new end |
Instance Attribute Details
#channel_registrar ⇒ Object (readonly)
Returns the value of attribute channel_registrar.
14 15 16 |
# File 'lib/dispatch-rider/notification_services/base.rb', line 14 def channel_registrar @channel_registrar end |
#notifier ⇒ Object (readonly)
Returns the value of attribute notifier.
14 15 16 |
# File 'lib/dispatch-rider/notification_services/base.rb', line 14 def notifier @notifier end |
Instance Method Details
#channel(name) ⇒ Object
41 42 43 |
# File 'lib/dispatch-rider/notification_services/base.rb', line 41 def channel(name) raise NotImplementedError end |
#channel_registrar_builder ⇒ Object
27 28 29 |
# File 'lib/dispatch-rider/notification_services/base.rb', line 27 def channel_registrar_builder raise NotImplementedError end |
#channels(names) ⇒ Object
37 38 39 |
# File 'lib/dispatch-rider/notification_services/base.rb', line 37 def channels(names) Array(names).map { |name| channel(name) } end |
#message_builder ⇒ Object
45 46 47 |
# File 'lib/dispatch-rider/notification_services/base.rb', line 45 def DispatchRider::Message end |
#notifier_builder ⇒ Object
23 24 25 |
# File 'lib/dispatch-rider/notification_services/base.rb', line 23 def notifier_builder raise NotImplementedError end |
#publish(options) ⇒ Object
31 32 33 34 35 |
# File 'lib/dispatch-rider/notification_services/base.rb', line 31 def publish() channels([:to]).each do |channel| channel.publish(serialize(([:message]))) end end |