module OneApm::Agent::Instrumentation::Sinatra::ClassMethods

Public Instance Methods

build_with_oneapm(*args, &block) click to toggle source
# File lib/one_apm/inst/framework/sinatra.rb, line 92
def build_with_oneapm(*args, &block)
  unless OneApm::Manager.config[:disable_sinatra_auto_middleware]
    oneapm_middlewares.each do |middleware_class|
      try_to_use(self, middleware_class)
    end
  end
  build_without_oneapm(*args, &block)
end
oneapm_middlewares() click to toggle source
# File lib/one_apm/inst/framework/sinatra.rb, line 84
def oneapm_middlewares
  middlewares = [OneApm::Rack::BrowserMonitoring]
  if OneApm::Rack::MiddlewareHooks.needed?
    middlewares << OneApm::Rack::MiddlewareHooks
  end
  middlewares
end
try_to_use(app, clazz) click to toggle source
# File lib/one_apm/inst/framework/sinatra.rb, line 101
def try_to_use(app, clazz)
  has_middleware = app.middleware.any? { |info| info[0] == clazz }
  app.use(clazz) unless has_middleware
end