Sha256: 6455a1ca09cf909551bb28afb7e923d3a1d5cce9d83e1e32fef3772efa25b2ad
Contents?: true
Size: 1.32 KB
Versions: 1
Compression:
Stored size: 1.32 KB
Contents
require "sentry-ruby" require "sentry-rails" if defined?(Rails) require "govuk_app_config/govuk_statsd" require "govuk_app_config/govuk_error/configuration" require "govuk_app_config/version" module GovukError class AlreadyInitialised < StandardError def initialize(msg = "You can only call GovukError.configure once!") super end end def self.notify(exception_or_message, args = {}) # Allow users to use `parameters` as a key like the Airbrake # client, allowing easy upgrades. args[:extra] ||= {} args[:extra].merge!(parameters: args.delete(:parameters)) args[:tags] ||= {} args[:tags][:govuk_app_config_version] = GovukAppConfig::VERSION if exception_or_message.is_a?(String) Sentry.capture_message(exception_or_message, **args) else Sentry.capture_exception(exception_or_message, **args) end end def self.is_configured? Sentry.get_current_client != nil end def self.configure raise GovukError::AlreadyInitialised if is_configured? if defined?(Sidekiq) && !defined?(Sentry::Sidekiq) warn "Warning: GovukError is not configured to track Sidekiq errors, install the sidekiq-sentry gem to track them." end Sentry.init do |sentry_config| config = Configuration.new(sentry_config) yield config if block_given? end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
govuk_app_config-4.6.0 | lib/govuk_app_config/govuk_error.rb |