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