Module: ErrorRadar

Defined in:
lib/error_radar.rb,
lib/error_radar/digest.rb,
lib/error_radar/engine.rb,
lib/error_radar/cleanup.rb,
lib/error_radar/version.rb,
lib/error_radar/notifier.rb,
lib/error_radar/tracking.rb,
lib/error_radar/middleware.rb,
lib/error_radar/capture_job.rb,
lib/error_radar/configuration.rb,
lib/error_radar/server_monitor.rb,
lib/error_radar/spike_detector.rb,
app/models/error_radar/error_log.rb,
lib/error_radar/integrations/rake.rb,
lib/error_radar/integrations/github.rb,
lib/error_radar/notifications/email.rb,
lib/error_radar/notifications/slack.rb,
app/mailers/error_radar/error_mailer.rb,
app/models/error_radar/error_comment.rb,
lib/error_radar/integrations/sidekiq.rb,
app/mailers/error_radar/digest_mailer.rb,
app/models/error_radar/error_activity.rb,
lib/error_radar/notifications/discord.rb,
lib/error_radar/notifications/webhook.rb,
app/models/error_radar/error_occurrence.rb,
lib/error_radar/integrations/active_job.rb,
lib/error_radar/integrations/rails_admin.rb,
app/models/error_radar/application_record.rb,
app/controllers/error_radar/guide_controller.rb,
app/controllers/error_radar/errors_controller.rb,
app/controllers/error_radar/api/base_controller.rb,
app/controllers/error_radar/api/stats_controller.rb,
app/controllers/error_radar/dashboard_controller.rb,
app/controllers/error_radar/api/errors_controller.rb,
app/controllers/error_radar/application_controller.rb,
lib/generators/error_radar/install/install_generator.rb,
lib/generators/error_radar/upgrade_v050/upgrade_v050_generator.rb,
lib/generators/error_radar/upgrade_v060/upgrade_v060_generator.rb,
lib/generators/error_radar/upgrade_v100/upgrade_v100_generator.rb

Overview

Public entry point for the gem.

ErrorRadar.configure do |c|
c.authenticate  = ->(controller) { controller.send(:authenticate_admin!) }
c.current_user  = ->(controller) { controller.current_admin&.email }
end

ErrorRadar.capture(exception, source: 'SomeJob', context: { post_id: 1 })
ErrorRadar.notify('Custom problem', category: :external_api, severity: :warning)
ErrorRadar.monitor('NightlyRakeTask') { do_work }

Defined Under Namespace

Modules: Api, Cleanup, Digest, Generators, Integrations, Notifications, Notifier, SpikeDetector, Tracking Classes: ApplicationController, ApplicationRecord, CaptureJob, Configuration, DashboardController, DigestMailer, Engine, ErrorActivity, ErrorComment, ErrorLog, ErrorMailer, ErrorOccurrence, ErrorsController, GuideController, Middleware, ServerMonitor

Constant Summary collapse

VERSION =
'1.0.4'

Class Method Summary collapse

Class Method Details

.capture(exception, **kwargs) ⇒ Object



39
40
41
# File 'lib/error_radar.rb', line 39

def capture(exception, **kwargs)
  Tracking.capture(exception, **kwargs)
end

.configObject



26
27
28
# File 'lib/error_radar.rb', line 26

def config
  @config ||= Configuration.new
end

.configure {|config| ... } ⇒ Object

Yields:



30
31
32
# File 'lib/error_radar.rb', line 30

def configure
  yield config
end

.monitor(source, **kwargs, &block) ⇒ Object



47
48
49
# File 'lib/error_radar.rb', line 47

def monitor(source, **kwargs, &block)
  Tracking.monitor(source, **kwargs, &block)
end

.notify(message, **kwargs) ⇒ Object



43
44
45
# File 'lib/error_radar.rb', line 43

def notify(message, **kwargs)
  Tracking.notify(message, **kwargs)
end

.reset_config!Object

Reset configuration — mostly useful in tests.



35
36
37
# File 'lib/error_radar.rb', line 35

def reset_config!
  @config = Configuration.new
end