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



85
86
87
# File 'lib/datadog/core/configuration/options.rb', line 85

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

#option_defined?(name) ⇒ Boolean

Returns:

  • (Boolean)


94
95
96
# File 'lib/datadog/core/configuration/options.rb', line 94

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

#optionsObject



73
74
75
# File 'lib/datadog/core/configuration/options.rb', line 73

def options
  @options ||= {}
end

#options_hashObject



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

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



89
90
91
92
# File 'lib/datadog/core/configuration/options.rb', line 89

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

#reset_options!Object



110
111
112
# File 'lib/datadog/core/configuration/options.rb', line 110

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

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



77
78
79
# File 'lib/datadog/core/configuration/options.rb', line 77

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

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



81
82
83
# File 'lib/datadog/core/configuration/options.rb', line 81

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

#using_default?(name) ⇒ Boolean

Is this option’s value the default fallback value?

Returns:

  • (Boolean)


99
100
101
102
# File 'lib/datadog/core/configuration/options.rb', line 99

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