Sha256: 51df047d8ec2459bd89c4793a376bf71bcad47f483ce5dead79f2033e9337aa7
Contents?: true
Size: 939 Bytes
Versions: 1
Compression:
Stored size: 939 Bytes
Contents
require_relative 'configuration/proxy' require_relative 'configuration/resolver' module Datadog # Configuration provides a unique access point for configurations class Configuration InvalidIntegrationError = Class.new(StandardError) def initialize(options = {}) @registry = options.fetch(:registry, Datadog.registry) end def [](integration_name) integration = fetch_integration(integration_name) Proxy.new(integration) end def use(integration_name, options = {}) integration = fetch_integration(integration_name) integration.sorted_options.each do |name| integration.set_option(name, options[name]) if options.key?(name) end integration.patch if integration.respond_to?(:patch) end private def fetch_integration(name) @registry[name] || raise(InvalidIntegrationError, "'#{name}' is not a valid integration.") end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ddtrace-0.10.0 | lib/ddtrace/configuration.rb |