class Datadog::Configuration::OptionDefinition::Builder
Acts as DSL for building OptionDefinitions
Attributes
helpers[R]
Public Class Methods
new(name, options = {}) { |self| ... }
click to toggle source
# File lib/ddtrace/configuration/option_definition.rb, line 41 def initialize(name, options = {}) @default = nil @delegate_to = nil @depends_on = [] @helpers = {} @lazy = false @name = name.to_sym @on_set = nil @resetter = nil @setter = OptionDefinition::IDENTITY # If options were supplied, apply them. apply_options!(options) # Apply block if given. yield(self) if block_given? end
Public Instance Methods
apply_options!(options = {})
click to toggle source
For applying options for OptionDefinition
# File lib/ddtrace/configuration/option_definition.rb, line 92 def apply_options!(options = {}) return if options.nil? || options.empty? default(options[:default]) if options.key?(:default) delegate_to(&options[:delegate_to]) if options.key?(:delegate_to) depends_on(*options[:depends_on]) if options.key?(:depends_on) lazy(options[:lazy]) if options.key?(:lazy) on_set(&options[:on_set]) if options.key?(:on_set) resetter(&options[:resetter]) if options.key?(:resetter) setter(&options[:setter]) if options.key?(:setter) end
default(value = nil, &block)
click to toggle source
# File lib/ddtrace/configuration/option_definition.rb, line 63 def default(value = nil, &block) @default = block || value end
delegate_to(&block)
click to toggle source
# File lib/ddtrace/configuration/option_definition.rb, line 67 def delegate_to(&block) @delegate_to = block end
depends_on(*values)
click to toggle source
# File lib/ddtrace/configuration/option_definition.rb, line 59 def depends_on(*values) @depends_on = values.flatten end
helper(name, *_args, &block)
click to toggle source
# File lib/ddtrace/configuration/option_definition.rb, line 71 def helper(name, *_args, &block) @helpers[name] = block end
lazy(value = true)
click to toggle source
# File lib/ddtrace/configuration/option_definition.rb, line 75 def lazy(value = true) @lazy = value end
meta()
click to toggle source
# File lib/ddtrace/configuration/option_definition.rb, line 108 def meta { default: @default, delegate_to: @delegate_to, depends_on: @depends_on, lazy: @lazy, on_set: @on_set, resetter: @resetter, setter: @setter } end
on_set(&block)
click to toggle source
# File lib/ddtrace/configuration/option_definition.rb, line 79 def on_set(&block) @on_set = block end
resetter(&block)
click to toggle source
# File lib/ddtrace/configuration/option_definition.rb, line 83 def resetter(&block) @resetter = block end
setter(&block)
click to toggle source
# File lib/ddtrace/configuration/option_definition.rb, line 87 def setter(&block) @setter = block end
to_definition()
click to toggle source
# File lib/ddtrace/configuration/option_definition.rb, line 104 def to_definition OptionDefinition.new(@name, meta) end