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



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

def get_option(name)
  add_option(name) unless options.key?(name)
  options[name].get
end

#option_defined?(name) ⇒ Boolean

Returns:

  • (Boolean)


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

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

#optionsObject



64
65
66
# File 'lib/datadog/core/configuration/options.rb', line 64

def options
  @options ||= OptionSet.new
end

#options_hashObject



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

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



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

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

#reset_options!Object



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

def reset_options!
  options.values.each(&:reset)
end

#set_option(name, value) ⇒ Object



68
69
70
71
# File 'lib/datadog/core/configuration/options.rb', line 68

def set_option(name, value)
  add_option(name) unless options.key?(name)
  options[name].set(value)
end