Sha256: d01d20c5dbc3d0b03e4475d3bd139f90dbfa971c294a5a9f7c83d8e9fa7b6298

Contents?: true

Size: 782 Bytes

Versions: 1

Compression:

Stored size: 782 Bytes

Contents

# frozen_string_literal: true

require_relative 'processor'

module Datadog
  module AppSec
    # Core-pluggable component for AppSec
    class Component
      class << self
        def build_appsec_component(settings)
          return unless settings.enabled

          processor = create_processor
          new(processor: processor)
        end

        private

        def create_processor
          processor = Processor.new
          return nil unless processor.ready?

          processor
        end
      end

      attr_reader :processor

      def initialize(processor:)
        @processor = processor
      end

      def shutdown!
        if processor && processor.ready?
          processor.finalize
          @processor = nil
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ddtrace-1.10.0 lib/datadog/appsec/component.rb