Sha256: ac1dac9a032dce08e701da665194320dfc81b307220376dfafec9ad32d95613f

Contents?: true

Size: 690 Bytes

Versions: 33

Compression:

Stored size: 690 Bytes

Contents

module Datadog
  module Configuration
    # PinSetup translates a flat hash into a Pin configuration
    # This class should be removed if we ever remove/refactor the Pin class
    class PinSetup
      def initialize(target, opts = {})
        @pin = Pin.get_from(target)
        @opts = opts
      end

      def call
        return unless pin

        ATTRS.each { |key| pin.public_send("#{key}=", opts[key]) if opts[key] }

        pin.config = opts.reject { |key, _| ATTRS.include?(key) }

        true
      end

      private

      attr_reader :pin, :opts

      ATTRS = [:app, :tags, :app_type, :name, :tracer, :service_name].freeze

      private_constant :ATTRS
    end
  end
end

Version data entries

33 entries across 33 versions & 2 rubygems

Version Path
ddtrace-0.36.0 lib/ddtrace/configuration/pin_setup.rb
ls-trace-0.1.2 lib/ddtrace/configuration/pin_setup.rb
ddtrace-0.35.2 lib/ddtrace/configuration/pin_setup.rb
ddtrace-0.35.1 lib/ddtrace/configuration/pin_setup.rb
ddtrace-0.35.0 lib/ddtrace/configuration/pin_setup.rb
ddtrace-0.34.2 lib/ddtrace/configuration/pin_setup.rb
ddtrace-0.34.1 lib/ddtrace/configuration/pin_setup.rb
ddtrace-0.34.0 lib/ddtrace/configuration/pin_setup.rb
ddtrace-0.33.1 lib/ddtrace/configuration/pin_setup.rb
ddtrace-0.33.0 lib/ddtrace/configuration/pin_setup.rb
ddtrace-0.32.0 lib/ddtrace/configuration/pin_setup.rb
ddtrace-0.31.1 lib/ddtrace/configuration/pin_setup.rb
ddtrace-0.31.0 lib/ddtrace/configuration/pin_setup.rb
ddtrace-0.30.1 lib/ddtrace/configuration/pin_setup.rb
ddtrace-0.30.0 lib/ddtrace/configuration/pin_setup.rb
ddtrace-0.29.1 lib/ddtrace/configuration/pin_setup.rb
ddtrace-0.26.1 lib/ddtrace/configuration/pin_setup.rb
ls-trace-0.1.1 lib/ddtrace/configuration/pin_setup.rb
ddtrace-0.29.0 lib/ddtrace/configuration/pin_setup.rb
ddtrace-0.28.0 lib/ddtrace/configuration/pin_setup.rb