module Trackets

Middleware for Rack applications

Example of a basic Rack app

require 'rack'
require 'trackets'

Trackets.setup do |config|
  config.private_api_key = "insert-valid-api-key"
end

app = Rack::Builder.app do
  run lambda { |env| raise "Testing Error" }
end

use Trackets::Middleware::RackExceptionHandler
run app

Constants

VERSION

Public Class Methods

configuration() click to toggle source
# File lib/trackets.rb, line 17
def configuration
  @configuration ||= Configuration.new
end
force() { || ... } click to toggle source
# File lib/trackets.rb, line 40
def force(&block)
  original = configuration.force?
  configuration.force = true

  yield

  configuration.force = original
end
notify(exception, env = nil, additional_info = nil) click to toggle source
# File lib/trackets.rb, line 21
def notify(exception, env = nil, additional_info = nil)
  return unless Trackets.configuration.enabled?

  job = NoticeJob.new
  job = job.async if Trackets.configuration.async?

  job.perform(exception, env, additional_info)
end
send_custom_exception(message = nil) click to toggle source
# File lib/trackets.rb, line 32
def send_custom_exception(message = nil)
  begin
    raise TracketsCustomException, message
  rescue TracketsCustomException => e
    force { Trackets.notify(e) }
  end
end
setup() { |configuration| ... } click to toggle source
# File lib/trackets.rb, line 11
def setup
  yield(configuration)

  Plugins::Loader.new
end