Module: Datadog::Core::Configuration::Options::InstanceMethods

Defined in:
lib/datadog/core/configuration/options.rb

Overview

Instance behavior for a configuration object with options

Instance Method Summary collapse

Instance Method Details

#get_option(name) ⇒ Object



83
84
85
# File 'lib/datadog/core/configuration/options.rb', line 83

def get_option(name)
  resolve_option(name).get
end

#option_defined?(name) ⇒ Boolean

Returns:

  • (Boolean)


92
93
94
# File 'lib/datadog/core/configuration/options.rb', line 92

def option_defined?(name)
  self.class.options.key?(name)
end

#optionsObject



71
72
73
# File 'lib/datadog/core/configuration/options.rb', line 71

def options
  @options ||= {}
end

#options_hashObject



102
103
104
105
106
# File 'lib/datadog/core/configuration/options.rb', line 102

def options_hash
  self.class.options.merge(options).each_with_object({}) do |(key, _), hash|
    hash[key] = get_option(key)
  end
end

#reset_option(name) ⇒ Object



87
88
89
90
# File 'lib/datadog/core/configuration/options.rb', line 87

def reset_option(name)
  assert_valid_option!(name)
  options[name].reset if options.key?(name)
end

#reset_options!Object



108
109
110
# File 'lib/datadog/core/configuration/options.rb', line 108

def reset_options!
  options.each_value(&:reset)
end

#set_option(name, value, precedence: Configuration::Option::Precedence::PROGRAMMATIC) ⇒ Object



75
76
77
# File 'lib/datadog/core/configuration/options.rb', line 75

def set_option(name, value, precedence: Configuration::Option::Precedence::PROGRAMMATIC)
  resolve_option(name).set(value, precedence: precedence, resolved_env: resolved_env(name))
end

#unset_option(name, precedence: Configuration::Option::Precedence::PROGRAMMATIC) ⇒ Object



79
80
81
# File 'lib/datadog/core/configuration/options.rb', line 79

def unset_option(name, precedence: Configuration::Option::Precedence::PROGRAMMATIC)
  resolve_option(name).unset(precedence)
end

#using_default?(name) ⇒ Object

Is this option's value the default fallback value?



97
98
99
100
# File 'lib/datadog/core/configuration/options.rb', line 97

def using_default?(name)
  get_option(name) # Resolve value check if environment variable overwrote the default
  options[name].default_precedence?
end