Module: Datadog::Core::Configuration::Base::InstanceMethods
- Defined in:
- lib/datadog/core/configuration/base.rb
Overview
Instance methods for configuration
Instance Method Summary collapse
- #configure(opts = {}) {|_self| ... } ⇒ Object
-
#dig(*options) ⇒ Object
Retrieves a nested option from a list of symbols.
- #initialize(options = {}) ⇒ Object
- #reset! ⇒ Object
- #to_h ⇒ Object
Instance Method Details
#configure(opts = {}) {|_self| ... } ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/datadog/core/configuration/base.rb', line 58 def configure(opts = {}) # Sort the options in preference of dependency order first ordering = self.class..dependency_order sorted_opts = opts.sort_by do |name, _value| ordering.index(name) || (ordering.length + 1) end.to_h # Apply options in sort order sorted_opts.each do |name, value| if respond_to?("#{name}=") send("#{name}=", value) elsif option_defined?(name) set_option(name, value) end end # Apply any additional settings from block yield(self) if block_given? end |
#dig(*options) ⇒ Object
Retrieves a nested option from a list of symbols
83 84 85 86 87 88 89 |
# File 'lib/datadog/core/configuration/base.rb', line 83 def dig(*) raise ArgumentError, 'expected at least one option' if .empty? .inject(self) do |receiver, option| receiver.send(option) end end |
#initialize(options = {}) ⇒ Object
54 55 56 |
# File 'lib/datadog/core/configuration/base.rb', line 54 def initialize( = {}) configure() unless .empty? end |
#reset! ⇒ Object
91 92 93 |
# File 'lib/datadog/core/configuration/base.rb', line 91 def reset! end |
#to_h ⇒ Object
78 79 80 |
# File 'lib/datadog/core/configuration/base.rb', line 78 def to_h end |