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 70 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 80 def option_defined?(name) self.class.options.key?(name) end
options()
click to toggle source
# File lib/ddtrace/configuration/options.rb, line 61 def options @options ||= OptionSet.new end
options_hash()
click to toggle source
# File lib/ddtrace/configuration/options.rb, line 84 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 75 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 90 def reset_options! options.values.each(&:reset) end
set_option(name, value)
click to toggle source
# File lib/ddtrace/configuration/options.rb, line 65 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 96 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 104 def assert_valid_option!(name) raise(InvalidOptionError, "#{self.class.name} doesn't define the option: #{name}") unless option_defined?(name) end