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



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

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

#option_defined?(name) ⇒ Boolean

Returns:

  • (Boolean)


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

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

#optionsObject



66
67
68
# File 'lib/datadog/core/configuration/options.rb', line 66

def options
  @options ||= OptionSet.new
end

#options_hashObject



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

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



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

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

#reset_options!Object



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

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

#set_option(name, value) ⇒ Object



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

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