Sha256: 93b7dfeebdd6722430edd67ba0c3fe0f9d060126ab6fa4928dfe3e3a9606b8ec

Contents?: true

Size: 918 Bytes

Versions: 5

Compression:

Stored size: 918 Bytes

Contents

# typed: false
require 'ddtrace/contrib/integration'
require 'ddtrace/contrib/graphql/configuration/settings'
require 'ddtrace/contrib/graphql/patcher'

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

        MINIMUM_VERSION = Gem::Version.new('1.7.9')

        register_as :graphql, auto_patch: true

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

        def self.loaded?
          !defined?(::GraphQL).nil? \
            && !defined?(::GraphQL::Tracing::DataDogTracing).nil?
        end

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

        def default_configuration
          Configuration::Settings.new
        end

        def patcher
          Patcher
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ddtrace-0.54.2 lib/ddtrace/contrib/graphql/integration.rb
ddtrace-0.54.1 lib/ddtrace/contrib/graphql/integration.rb
ddtrace-0.54.0 lib/ddtrace/contrib/graphql/integration.rb
ddtrace-0.53.0 lib/ddtrace/contrib/graphql/integration.rb
ddtrace-0.52.0 lib/ddtrace/contrib/graphql/integration.rb