module Datadog::Contrib::Configurable::InstanceMethods
Configurable
instance behavior for integrations
Public Instance Methods
configuration(key = :default)
click to toggle source
Get matching configuration for key. If no match, returns default configuration.
# File lib/ddtrace/contrib/configurable.rb, line 25 def configuration(key = :default) configurations[configuration_key(key)] end
configuration_for?(key)
click to toggle source
If the key has matching configuration explicitly defined for it, then return true. Otherwise return false.
# File lib/ddtrace/contrib/configurable.rb, line 31 def configuration_for?(key) key = resolver.resolve(key) unless key == :default configurations.key?(key) end
configurations()
click to toggle source
# File lib/ddtrace/contrib/configurable.rb, line 36 def configurations @configurations ||= { default: default_configuration } end
configure(key, options = {}, &block)
click to toggle source
Create or update configuration with provided settings.
# File lib/ddtrace/contrib/configurable.rb, line 43 def configure(key, options = {}, &block) key ||= :default # Get or add the configuration config = configuration_for?(key) ? configuration(key) : add_configuration(key) # Apply the settings config.configure(options, &block) config end
default_configuration()
click to toggle source
# File lib/ddtrace/contrib/configurable.rb, line 14 def default_configuration Configuration::Settings.new end
reset_configuration!()
click to toggle source
# File lib/ddtrace/contrib/configurable.rb, line 18 def reset_configuration! @configurations = nil @resolver = nil end
Protected Instance Methods
add_configuration(key)
click to toggle source
# File lib/ddtrace/contrib/configurable.rb, line 60 def add_configuration(key) resolver.add(key) config_key = resolver.resolve(key) configurations[config_key] = default_configuration end
configuration_key(key)
click to toggle source
# File lib/ddtrace/contrib/configurable.rb, line 66 def configuration_key(key) return :default if key.nil? || key == :default key = resolver.resolve(key) key = :default unless configurations.key?(key) key end
resolver()
click to toggle source
# File lib/ddtrace/contrib/configurable.rb, line 56 def resolver @resolver ||= Configuration::Resolver.new end