Sha256: a6bfd2a9f7700854b0f65733fe39a08020484ba1d1fc6a1d228c50f6bbf155f8

Contents?: true

Size: 855 Bytes

Versions: 15

Compression:

Stored size: 855 Bytes

Contents

require 'ddtrace/contrib/patcher'
require 'ddtrace/ext/app_types'
require 'ddtrace/contrib/rake/ext'
require 'ddtrace/contrib/rake/instrumentation'

module Datadog
  module Contrib
    module Rake
      # Patcher enables patching of 'rake' module.
      module Patcher
        include Contrib::Patcher

        module_function

        def patched?
          done?(:rake)
        end

        def patch
          do_once(:rake) do
            begin
              # Add instrumentation patch to Rake task
              ::Rake::Task.send(:include, Instrumentation)
            rescue StandardError => e
              Datadog::Tracer.log.error("Unable to apply Rake integration: #{e}")
            end
          end
        end

        def get_option(option)
          Datadog.configuration[:rake].get_option(option)
        end
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 2 rubygems

Version Path
ls-trace-0.1.2 lib/ddtrace/contrib/rake/patcher.rb
ddtrace-0.29.1 lib/ddtrace/contrib/rake/patcher.rb
ddtrace-0.26.1 lib/ddtrace/contrib/rake/patcher.rb
ls-trace-0.1.1 lib/ddtrace/contrib/rake/patcher.rb
ddtrace-0.29.0 lib/ddtrace/contrib/rake/patcher.rb
ddtrace-0.28.0 lib/ddtrace/contrib/rake/patcher.rb
ddtrace-0.27.0 lib/ddtrace/contrib/rake/patcher.rb
ddtrace-0.26.0 lib/ddtrace/contrib/rake/patcher.rb
ddtrace-0.25.1 lib/ddtrace/contrib/rake/patcher.rb
ddtrace-0.25.0 lib/ddtrace/contrib/rake/patcher.rb
ddtrace-0.24.0 lib/ddtrace/contrib/rake/patcher.rb
ddtrace-0.23.3 lib/ddtrace/contrib/rake/patcher.rb
ddtrace-0.23.2 lib/ddtrace/contrib/rake/patcher.rb
ddtrace-0.23.1 lib/ddtrace/contrib/rake/patcher.rb
ddtrace-0.23.0 lib/ddtrace/contrib/rake/patcher.rb