Class: Datadog::Core::Configuration::DependencyResolver

Inherits:
Object
  • Object
show all
Includes:
TSort
Defined in:
lib/datadog/core/configuration/dependency_resolver.rb

Overview

Resolver performs a topological sort over the dependency graph

Instance Method Summary collapse

Constructor Details

#initialize(dependency_graph = {}) ⇒ DependencyResolver

Returns a new instance of DependencyResolver.



12
13
14
# File 'lib/datadog/core/configuration/dependency_resolver.rb', line 12

def initialize(dependency_graph = {})
  @dependency_graph = dependency_graph
end

Instance Method Details

#tsort_each_child(node, &blk) ⇒ Object



20
21
22
# File 'lib/datadog/core/configuration/dependency_resolver.rb', line 20

def tsort_each_child(node, &blk)
  @dependency_graph.fetch(node).each(&blk)
end

#tsort_each_node(&blk) ⇒ Object



16
17
18
# File 'lib/datadog/core/configuration/dependency_resolver.rb', line 16

def tsort_each_node(&blk)
  @dependency_graph.each_key(&blk)
end