class NineOneOne::Notifier
Attributes
config[R]
Public Class Methods
new(config)
click to toggle source
# File lib/nine_one_one/notifier.rb, line 3 def initialize(config) @config = config end
Public Instance Methods
emergency(description, source: Socket.gethostname, dedup_key: nil, severity: PagerDutyService::HIGH_URGENCY_ERROR, details_hash: nil)
click to toggle source
# File lib/nine_one_one/notifier.rb, line 7 def emergency(description, source: Socket.gethostname, dedup_key: nil, severity: PagerDutyService::HIGH_URGENCY_ERROR, details_hash: nil) emergency_service.trigger_event(description, source: source, dedup_key: dedup_key, severity: severity, details_hash: details_hash) end
emergency_service()
click to toggle source
# File lib/nine_one_one/notifier.rb, line 21 def emergency_service if config.send_pagers PagerDutyService.new(config.pager_duty_integration_key) else LogService.new(config.logger) end end
notification_service()
click to toggle source
# File lib/nine_one_one/notifier.rb, line 29 def notification_service if config.slack_enabled SlackService.new(config.slack_webhook_url, username: config.slack_username, channel: config.slack_channel) else LogService.new(config.logger) end end
notify(message)
click to toggle source
# File lib/nine_one_one/notifier.rb, line 17 def notify(message) notification_service.notify(message) end
resolve_emergency(dedup_key)
click to toggle source
# File lib/nine_one_one/notifier.rb, line 13 def resolve_emergency(dedup_key) emergency_service.resolve_event(dedup_key) end