module Datadog::Contrib::Rack::Patcher

Applies multiple patches

Constants

PATCHERS

Public Instance Methods

get_option(option) click to toggle source
# File lib/ddtrace/contrib/rack/patcher.rb, line 100
def get_option(option)
  Datadog.configuration[:rack].get_option(option)
end
patch() click to toggle source
# File lib/ddtrace/contrib/rack/patcher.rb, line 84
def patch
  MiddlewarePatcher.patch unless MiddlewarePatcher.patched?

  # Patch middleware names
  if !MiddlewareNamePatcher.patched? && get_option(:middleware_names)
    if get_option(:application)
      MiddlewareNamePatcher.patch
    else
      Datadog.logger.warn(%(
      Rack :middleware_names requires you to also pass :application.
      Middleware names have NOT been patched; please provide :application.
      e.g. use: :rack, middleware_names: true, application: my_rack_app).freeze)
    end
  end
end
patched?() click to toggle source
# File lib/ddtrace/contrib/rack/patcher.rb, line 76
def patched?
  PATCHERS.all?(&:patched?)
end
target_version() click to toggle source
# File lib/ddtrace/contrib/rack/patcher.rb, line 80
def target_version
  Integration.version
end