Module: Lescopr::Integrations::Sinatra::Extension

Defined in:
lib/lescopr/integrations/sinatra/extension.rb

Overview

Sinatra extension — registers a helper and hooks into error handling.

Examples:

require "sinatra"
require "lescopr"

class MyApp < Sinatra::Base
  register Lescopr::Integrations::Sinatra::Extension

  get "/" do
    lescopr_log(:info, "Home page visited")
    "Hello!"
  end
end

Class Method Summary collapse

Class Method Details

.registered(app) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/lescopr/integrations/sinatra/extension.rb', line 22

def self.registered(app)
  app.use Lescopr::Integrations::Rack::Middleware

  app.helpers Helpers

  app.error(StandardError) do |e|
    Lescopr.log("ERROR", "#{e.class}: #{e.message}", {
      sinatra_path:   request.path_info,
      sinatra_method: request.request_method,
      backtrace:      e.backtrace&.first(10)
    })
    raise e
  end
end