Module: OneApm::Agent::Instrumentation::Sinatra::ClassMethods
- Defined in:
- lib/one_apm/inst/framework/sinatra.rb
Instance Method Summary collapse
- #build_with_oneapm(*args, &block) ⇒ Object
- #oneapm_middlewares ⇒ Object
- #try_to_use(app, clazz) ⇒ Object
Instance Method Details
#build_with_oneapm(*args, &block) ⇒ Object
92 93 94 95 96 97 98 99 |
# 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 ⇒ Object
84 85 86 87 88 89 90 |
# 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) ⇒ Object
101 102 103 104 |
# 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 |