module Datadog::Configuration::Options::InstanceMethods

Instance behavior for a configuration object with options

Public Instance Methods

get_option(name) click to toggle source
# File lib/ddtrace/configuration/options.rb, line 68
def get_option(name)
  add_option(name) unless options.key?(name)
  options[name].get
end
option_defined?(name) click to toggle source
# File lib/ddtrace/configuration/options.rb, line 78
def option_defined?(name)
  self.class.options.key?(name)
end
options() click to toggle source
# File lib/ddtrace/configuration/options.rb, line 59
def options
  @options ||= OptionSet.new
end
options_hash() click to toggle source
# File lib/ddtrace/configuration/options.rb, line 82
def options_hash
  self.class.options.merge(options).each_with_object({}) do |(key, _), hash|
    hash[key] = get_option(key)
  end
end
reset_option(name) click to toggle source
# File lib/ddtrace/configuration/options.rb, line 73
def reset_option(name)
  assert_valid_option!(name)
  options[name].reset if options.key?(name)
end
reset_options!() click to toggle source
# File lib/ddtrace/configuration/options.rb, line 88
def reset_options!
  options.values.each(&:reset)
end
set_option(name, value) click to toggle source
# File lib/ddtrace/configuration/options.rb, line 63
def set_option(name, value)
  add_option(name) unless options.key?(name)
  options[name].set(value)
end

Private Instance Methods

add_option(name) click to toggle source
# File lib/ddtrace/configuration/options.rb, line 94
def add_option(name)
  assert_valid_option!(name)
  definition = self.class.options[name]
  definition.build(self).tap do |option|
    options[name] = option
  end
end
assert_valid_option!(name) click to toggle source
# File lib/ddtrace/configuration/options.rb, line 102
def assert_valid_option!(name)
  unless option_defined?(name)
    raise(InvalidOptionError, "#{self.class.name} doesn't define the option: #{name}")
  end
end