Sha256: 1f6c35606a0bf2c489874c83d053e9e0223789f2dc81d3dfb6ca5b1855c577cd

Contents?: true

Size: 844 Bytes

Versions: 35

Compression:

Stored size: 844 Bytes

Contents

# frozen_string_literal: true

module Datadog
  module AppSec
    module Contrib
      # Base provides features that are shared across all integrations
      module Integration
        @registry = {}

        RegisteredIntegration = Struct.new(:name, :klass, :options)

        def self.included(base)
          base.extend(ClassMethods)
        end

        # Class-level methods for Integration
        module ClassMethods
          def register_as(name, options = {})
            Integration.register(self, name, options)
          end

          def compatible?
            true
          end
        end

        def self.register(integration, name, options)
          registry[name] = RegisteredIntegration.new(name, integration, options)
        end

        def self.registry
          @registry
        end
      end
    end
  end
end

Version data entries

35 entries across 35 versions & 2 rubygems

Version Path
datadog-2.9.0 lib/datadog/appsec/contrib/integration.rb
datadog-2.8.0 lib/datadog/appsec/contrib/integration.rb
datadog-2.7.1 lib/datadog/appsec/contrib/integration.rb
datadog-2.7.0 lib/datadog/appsec/contrib/integration.rb
datadog-2.6.0 lib/datadog/appsec/contrib/integration.rb
datadog-2.5.0 lib/datadog/appsec/contrib/integration.rb
datadog-2.4.0 lib/datadog/appsec/contrib/integration.rb
datadog-2.3.0 lib/datadog/appsec/contrib/integration.rb
datadog-2.2.0 lib/datadog/appsec/contrib/integration.rb
ddtrace-1.23.3 lib/datadog/appsec/contrib/integration.rb
ddtrace-1.23.2 lib/datadog/appsec/contrib/integration.rb
datadog-2.1.0 lib/datadog/appsec/contrib/integration.rb
datadog-2.0.0 lib/datadog/appsec/contrib/integration.rb
ddtrace-1.23.1 lib/datadog/appsec/contrib/integration.rb
datadog-2.0.0.beta2 lib/datadog/appsec/contrib/integration.rb
ddtrace-1.22.0 lib/datadog/appsec/contrib/integration.rb
datadog-2.0.0.beta1 lib/datadog/appsec/contrib/integration.rb
ddtrace-1.21.1 lib/datadog/appsec/contrib/integration.rb
ddtrace-1.21.0 lib/datadog/appsec/contrib/integration.rb
ddtrace-1.20.0 lib/datadog/appsec/contrib/integration.rb