Module: Datadog::Contrib::Extensions::Configuration::Settings

Defined in:
lib/ddtrace/contrib/extensions.rb

Overview

Extensions for Datadog::Configuration::Settings

Constant Summary collapse

InvalidIntegrationError =
Class.new(StandardError)

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



25
26
27
28
29
30
# File 'lib/ddtrace/contrib/extensions.rb', line 25

def self.included(base)
  # Add the additional options to the global configuration settings
  base.instance_eval do
    option :registry, default: Registry.new
  end
end

Instance Method Details

#[](integration_name, configuration_name = :default) ⇒ Object



32
33
34
35
# File 'lib/ddtrace/contrib/extensions.rb', line 32

def [](integration_name, configuration_name = :default)
  integration = fetch_integration(integration_name)
  integration.configuration(configuration_name) unless integration.nil?
end

#use(integration_name, options = {}, &block) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
# File 'lib/ddtrace/contrib/extensions.rb', line 37

def use(integration_name, options = {}, &block)
  integration = fetch_integration(integration_name)

  unless integration.nil?
    configuration_name = options[:describes] || :default
    filtered_options = options.reject { |k, _v| k == :describes }
    integration.configure(configuration_name, filtered_options, &block)
  end

  integration.patch if integration.respond_to?(:patch)
end