Sha256: 97a81142a979b3e4451aa9dbf1a773dd125b4493f005ee33c4f46eda60fdbbfe

Contents?: true

Size: 894 Bytes

Versions: 3

Compression:

Stored size: 894 Bytes

Contents

# frozen_string_literal: true

require_relative '../integration'

require_relative 'patcher'

module Datadog
  module AppSec
    module Contrib
      module Faraday
        # This class provides helper methods that are used when patching Faraday
        class Integration
          include Datadog::AppSec::Contrib::Integration

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

          register_as :faraday, auto_patch: true

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

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

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

          def self.auto_instrument?
            true
          end

          def patcher
            Patcher
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
datadog-2.12.1 lib/datadog/appsec/contrib/faraday/integration.rb
datadog-2.12.0 lib/datadog/appsec/contrib/faraday/integration.rb
datadog-2.11.0 lib/datadog/appsec/contrib/faraday/integration.rb