Module: Datadog::Contrib::Configurable::InstanceMethods
- Defined in:
- lib/ddtrace/contrib/configurable.rb
Overview
Configurable instance behavior for integrations
Instance Method Summary collapse
-
#configuration(key = :default) ⇒ Object
Get matching configuration for key.
-
#configuration_for?(key) ⇒ Boolean
If the key has matching configuration explicitly defined for it, then return true.
- #configurations ⇒ Object
-
#configure(key, options = {}, &block) ⇒ Object
Create or update configuration with provided settings.
- #default_configuration ⇒ Object
- #reset_configuration! ⇒ Object
Instance Method Details
#configuration(key = :default) ⇒ Object
Get matching configuration for key. If no match, returns default configuration.
25 26 27 |
# File 'lib/ddtrace/contrib/configurable.rb', line 25 def configuration(key = :default) configurations[configuration_key(key)] end |
#configuration_for?(key) ⇒ Boolean
If the key has matching configuration explicitly defined for it, then return true. Otherwise return false.
31 32 33 34 |
# File 'lib/ddtrace/contrib/configurable.rb', line 31 def configuration_for?(key) key = resolver.resolve(key) unless key == :default configurations.key?(key) end |
#configurations ⇒ Object
36 37 38 39 40 |
# File 'lib/ddtrace/contrib/configurable.rb', line 36 def configurations @configurations ||= { default: default_configuration } end |
#configure(key, options = {}, &block) ⇒ Object
Create or update configuration with provided settings.
43 44 45 46 47 48 49 50 51 52 |
# File 'lib/ddtrace/contrib/configurable.rb', line 43 def configure(key, = {}, &block) key ||= :default # Get or add the configuration config = configuration_for?(key) ? configuration(key) : add_configuration(key) # Apply the settings config.configure(, &block) config end |
#default_configuration ⇒ Object
14 15 16 |
# File 'lib/ddtrace/contrib/configurable.rb', line 14 def default_configuration Configuration::Settings.new end |
#reset_configuration! ⇒ Object
18 19 20 21 |
# File 'lib/ddtrace/contrib/configurable.rb', line 18 def reset_configuration! @configurations = nil @resolver = nil end |