31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/ddtrace/contrib/action_view/patcher.rb', line 31
def patch_renderer
do_once(:patch_renderer) do
if defined?(::ActionView::TemplateRenderer) && defined?(::ActionView::PartialRenderer)
if Integration.version < Gem::Version.new('6.0.0')
::ActionView::TemplateRenderer.send(:prepend, Instrumentation::TemplateRenderer::Rails31To5)
::ActionView::PartialRenderer.send(:prepend, Instrumentation::PartialRenderer::RailsLessThan6)
else
::ActionView::TemplateRenderer.send(:prepend, Instrumentation::TemplateRenderer::Rails6Plus)
::ActionView::PartialRenderer.send(:prepend, Instrumentation::PartialRenderer::Rails6Plus)
end
elsif defined?(::ActionView::Rendering) && defined?(::ActionView::Partials::PartialRenderer)
::ActionView::Rendering.send(:prepend, Instrumentation::TemplateRenderer::Rails30)
::ActionView::Partials::PartialRenderer.send(:prepend, Instrumentation::PartialRenderer::RailsLessThan6)
else
Datadog::Tracer.log.debug('Expected Template/Partial classes not found; template rendering disabled')
end
end
end
|