Class: Anomonitor::Notifiers::Composite
- Inherits:
-
Object
- Object
- Anomonitor::Notifiers::Composite
- Defined in:
- lib/anomonitor/notifiers/composite.rb
Instance Method Summary collapse
- #deliver(anomaly, event: DETECTED) ⇒ Object
- #deliver_digest(payload) ⇒ Object
-
#initialize(notifiers) ⇒ Composite
constructor
A new instance of Composite.
Constructor Details
#initialize(notifiers) ⇒ Composite
Returns a new instance of Composite.
6 7 8 |
# File 'lib/anomonitor/notifiers/composite.rb', line 6 def initialize(notifiers) @notifiers = Array(notifiers) end |
Instance Method Details
#deliver(anomaly, event: DETECTED) ⇒ Object
10 11 12 13 14 15 16 17 18 |
# File 'lib/anomonitor/notifiers/composite.rb', line 10 def deliver(anomaly, event: DETECTED) results = @notifiers.map do |notifier| notifier.deliver(anomaly, event: event) rescue StandardError => e Anomonitor.logger.warn("[Anomonitor] Notifier #{notifier.class} error: #{e.}") false end results.any? end |
#deliver_digest(payload) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/anomonitor/notifiers/composite.rb', line 20 def deliver_digest(payload) results = @notifiers.map do |notifier| next false unless notifier.respond_to?(:deliver_digest) notifier.deliver_digest(payload) rescue StandardError => e Anomonitor.logger.warn("[Anomonitor] Digest notifier #{notifier.class} error: #{e.}") false end results.any? end |