Sha256: 37b6ce4c3d9f9ba0546784df73c287df493e1beed3c380c263b76580d3ef39dd

Contents?: true

Size: 477 Bytes

Versions: 5

Compression:

Stored size: 477 Bytes

Contents

# typed: true
require 'ddtrace/configuration/dependency_resolver'

module Datadog
  module Configuration
    # Represents a set of configuration option definitions for an integration
    class OptionDefinitionSet < Hash
      def dependency_order
        DependencyResolver.new(dependency_graph).call
      end

      def dependency_graph
        each_with_object({}) do |(name, option), graph|
          graph[name] = option.depends_on
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ddtrace-0.54.2 lib/ddtrace/configuration/option_definition_set.rb
ddtrace-0.54.1 lib/ddtrace/configuration/option_definition_set.rb
ddtrace-0.54.0 lib/ddtrace/configuration/option_definition_set.rb
ddtrace-0.53.0 lib/ddtrace/configuration/option_definition_set.rb
ddtrace-0.52.0 lib/ddtrace/configuration/option_definition_set.rb