1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
# frozen_string_literal: true
require 'uniform_notifier/base'
require 'uniform_notifier/errors'
require 'uniform_notifier/javascript_alert'
require 'uniform_notifier/javascript_console'
require 'uniform_notifier/honeybadger'
require 'uniform_notifier/xmpp'
require 'uniform_notifier/rails_logger'
require 'uniform_notifier/customized_logger'
require 'uniform_notifier/airbrake'
require 'uniform_notifier/sentry'
require 'uniform_notifier/rollbar'
require 'uniform_notifier/bugsnag'
require 'uniform_notifier/appsignal'
require 'uniform_notifier/slack'
require 'uniform_notifier/raise'
require 'uniform_notifier/terminal_notifier'
class UniformNotifier
AVAILABLE_NOTIFIERS = %i[
alert
console
honeybadger
xmpp
rails_logger
customized_logger
airbrake
rollbar
bugsnag
slack
raise
sentry
appsignal
terminal_notifier
].freeze
NOTIFIERS = [
JavascriptAlert,
JavascriptConsole,
HoneybadgerNotifier,
Xmpp,
RailsLogger,
CustomizedLogger,
AirbrakeNotifier,
RollbarNotifier,
BugsnagNotifier,
Raise,
Slack,
SentryNotifier,
AppsignalNotifier,
TerminalNotifier
].freeze
class NotificationError < StandardError
end
class << self
attr_accessor(*AVAILABLE_NOTIFIERS)
def active_notifiers
NOTIFIERS.select(&:active?)
end
undef xmpp=
def xmpp=(xmpp)
UniformNotifier::Xmpp.setup_connection(xmpp)
end
undef customized_logger=
def customized_logger=(logdev)
UniformNotifier::CustomizedLogger.setup(logdev)
end
undef slack=
def slack=(slack)
UniformNotifier::Slack.setup_connection(slack)
end
undef raise=
def raise=(exception_class)
UniformNotifier::Raise.setup_connection(exception_class)
end
end
end
|