Sha256: 0d707b7464a8582cbb5a0a5963db788948b868b3a06b6aa08c7d88618c685744

Contents?: true

Size: 685 Bytes

Versions: 24

Compression:

Stored size: 685 Bytes

Contents

module Datadog
  module Contrib
    module Configuration
      # Represents a definition for an integration configuration option
      class OptionDefinition
        IDENTITY = ->(x) { x }

        attr_reader \
          :default,
          :depends_on,
          :lazy,
          :name,
          :setter

        def initialize(name, meta = {}, &block)
          @default = meta[:default]
          @depends_on = meta[:depends_on] || []
          @lazy = meta[:lazy] || false
          @name = name.to_sym
          @setter = meta[:setter] || block || IDENTITY
        end

        def default_value
          lazy ? @default.call : @default
        end
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
ddtrace-0.20.0 lib/ddtrace/contrib/configuration/option_definition.rb
ddtrace-0.19.1 lib/ddtrace/contrib/configuration/option_definition.rb
ddtrace-0.19.0 lib/ddtrace/contrib/configuration/option_definition.rb
ddtrace-0.18.3 lib/ddtrace/contrib/configuration/option_definition.rb
ddtrace-0.18.2 lib/ddtrace/contrib/configuration/option_definition.rb
ddtrace-0.18.1 lib/ddtrace/contrib/configuration/option_definition.rb
ddtrace-0.18.0 lib/ddtrace/contrib/configuration/option_definition.rb
ddtrace-0.17.3 lib/ddtrace/contrib/configuration/option_definition.rb
ddtrace-0.17.2 lib/ddtrace/contrib/configuration/option_definition.rb
ddtrace-0.17.1 lib/ddtrace/contrib/configuration/option_definition.rb
ddtrace-0.17.0 lib/ddtrace/contrib/configuration/option_definition.rb
ddtrace-0.16.1 lib/ddtrace/contrib/configuration/option_definition.rb
ddtrace-0.15.0.internaltracinfeature1 lib/ddtrace/contrib/configuration/option_definition.rb
ddtrace-0.16.0 lib/ddtrace/contrib/configuration/option_definition.rb
ddtrace-0.14.2.disableprotocolversion4 lib/ddtrace/contrib/configuration/option_definition.rb
ddtrace-0.15.0 lib/ddtrace/contrib/configuration/option_definition.rb
ddtrace-0.14.2.withoutpriorityparsing1 lib/ddtrace/contrib/configuration/option_definition.rb
ddtrace-0.14.2 lib/ddtrace/contrib/configuration/option_definition.rb
ddtrace-0.14.1 lib/ddtrace/contrib/configuration/option_definition.rb
ddtrace-0.15.0.beta1 lib/ddtrace/contrib/configuration/option_definition.rb