Module: Datadog::Contrib::Configurable::InstanceMethods

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

Overview

Configurable instance behavior for integrations

Instance Method Summary collapse

Instance Method Details

#configuration(key = :default) ⇒ Object



23
24
25
# File 'lib/ddtrace/contrib/configurable.rb', line 23

def configuration(key = :default)
  configurations[resolve_configuration_key(key)]
end

#configurationsObject



27
28
29
30
31
# File 'lib/ddtrace/contrib/configurable.rb', line 27

def configurations
  @configurations ||= Hash.new { default_configuration }.tap do |configs|
    configs[:default] = default_configuration
  end
end

#configure(key, options = {}, &block) ⇒ Object



33
34
35
36
37
38
39
40
# File 'lib/ddtrace/contrib/configurable.rb', line 33

def configure(key, options = {}, &block)
  key = resolver.resolve(key || :default)

  configurations[key].tap do |settings|
    settings.configure(options, &block)
    configurations[key] = settings
  end
end

#default_configurationObject



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