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