Sha256: abad6ad6962e8167c795ccd381bf44584ef89ee01dd6846922760957a244aef1
Contents?: true
Size: 1.29 KB
Versions: 14
Compression:
Stored size: 1.29 KB
Contents
# frozen_string_literal: true require_relative '../../../core/configuration/base' require_relative '../../../core/utils/only_once' module Datadog module Tracing module Contrib module Configuration # Common settings for all integrations # @public_api class Settings include Core::Configuration::Base option :analytics_enabled, default: false option :analytics_sample_rate, default: 1.0 option :enabled, default: true # TODO: Deprecate per-integration service name when first-class peer service support is added # TODO: We don't want to recommend per-integration service naming, but there are no equivalent alternatives today. option :service_name do |o| o.type :string, nilable: true end def configure(options = {}) self.class.options.each do |name, _value| self[name] = options[name] if options.key?(name) end yield(self) if block_given? end def [](name) respond_to?(name) ? send(name) : get_option(name) end def []=(name, value) respond_to?("#{name}=") ? send("#{name}=", value) : set_option(name, value) end end end end end end
Version data entries
14 entries across 14 versions & 1 rubygems