Sha256: 5f5ab4496bdc874854e09d9abce4fa44481232ac731fa0d89b44cb6bed1478c7

Contents?: true

Size: 1.12 KB

Versions: 6

Compression:

Stored size: 1.12 KB

Contents

require 'ddtrace/contrib/integration'
require 'ddtrace/contrib/resque/configuration/settings'
require 'ddtrace/contrib/resque/patcher'

module Datadog
  module Contrib
    module Resque
      # Description of Resque integration
      class Integration
        include Contrib::Integration

        MINIMUM_VERSION = Gem::Version.new('1.0')
        # Maximum is first version it's NOT compatible with (not inclusive)
        MAXIMUM_VERSION = Gem::Version.new('3.0')

        register_as :resque, auto_patch: true

        def self.version
          Gem.loaded_specs['resque'] && Gem.loaded_specs['resque'].version
        end

        def self.loaded?
          !defined?(::Resque).nil?
        end

        def self.compatible?
          super \
            && version >= MINIMUM_VERSION \
            && version < MAXIMUM_VERSION
        end

        def default_configuration
          Configuration::Settings.new
        end

        def patcher
          Patcher
        end

        class << self
          # Globally-acccesible reference for pre-forking optimization
          attr_accessor :sync_writer
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
ddtrace-0.51.1 lib/ddtrace/contrib/resque/integration.rb
ddtrace-0.51.0 lib/ddtrace/contrib/resque/integration.rb
ddtrace-0.50.0 lib/ddtrace/contrib/resque/integration.rb
ddtrace-0.49.0 lib/ddtrace/contrib/resque/integration.rb
ddtrace-0.48.0 lib/ddtrace/contrib/resque/integration.rb
ddtrace-0.47.0 lib/ddtrace/contrib/resque/integration.rb