Module: Trackets

Defined in:
lib/trackets/middleware/rack_exception_handler.rb,
lib/trackets.rb,
lib/trackets/client.rb,
lib/trackets/params.rb,
lib/trackets/railtie.rb,
lib/trackets/version.rb,
lib/trackets/null_env.rb,
lib/trackets/backtrace.rb,
lib/trackets/view_helpers.rb,
lib/trackets/configuration.rb,
lib/trackets/jobs/notice_job.rb,
lib/trackets/plugins/sidekiq.rb,
lib/trackets/rack_env_sanitizer.rb,
lib/generators/trackets/install_generator.rb

Overview

Middleware for Rack applications

Example of a basic Rack app

require 'rack'
require 'trackets'

Trackets.setup do |config|
  config.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

Defined Under Namespace

Modules: Generators, Middleware, Plugins, ViewHelpers Classes: Backtrace, Client, Configuration, NoticeJob, NullEnv, Params, RackEnvSanitizer, Railtie, TracketsCustomException

Constant Summary collapse

VERSION =
"0.0.5"

Class Method Summary collapse

Class Method Details

.configurationObject



17
18
19
# File 'lib/trackets.rb', line 17

def configuration
  @configuration ||= Configuration.new
end

.notify(exception, env = nil) ⇒ Object



21
22
23
24
25
26
# File 'lib/trackets.rb', line 21

def notify(exception, env = nil)
  job = NoticeJob.new
  job = job.async if Trackets.configuration.async?

  job.perform(exception, env)
end

.send_custom_exception(message = nil) ⇒ Object



30
31
32
33
34
35
36
# File 'lib/trackets.rb', line 30

def send_custom_exception(message = nil)
  begin
    raise TracketsCustomException, message
  rescue TracketsCustomException => e
    Trackets.notify(e)
  end
end

.setup {|configuration| ... } ⇒ Object

Yields:



11
12
13
14
15
# File 'lib/trackets.rb', line 11

def setup
  yield(configuration)

  Plugins::Sidekiq.new if defined?(::Sidekiq)
end