Class: Antz::DependencyResolver
- Inherits:
-
Object
- Object
- Antz::DependencyResolver
- Includes:
- TSort
- Defined in:
- lib/antz/dependency_resolver.rb
Instance Method Summary collapse
-
#initialize(importers) ⇒ DependencyResolver
constructor
A new instance of DependencyResolver.
- #resolve ⇒ Object
- #tsort_each_child(node) ⇒ Object
- #tsort_each_node ⇒ Object
Constructor Details
#initialize(importers) ⇒ DependencyResolver
Returns a new instance of DependencyResolver.
9 10 11 |
# File 'lib/antz/dependency_resolver.rb', line 9 def initialize(importers) @importers = importers end |
Instance Method Details
#resolve ⇒ Object
13 14 15 |
# File 'lib/antz/dependency_resolver.rb', line 13 def resolve tsort.map { |name| @importers[name] } end |
#tsort_each_child(node) ⇒ Object
21 22 23 24 |
# File 'lib/antz/dependency_resolver.rb', line 21 def tsort_each_child(node, &) deps = @importers[node].depends_on Array(deps).each(&) end |
#tsort_each_node ⇒ Object
17 18 19 |
# File 'lib/antz/dependency_resolver.rb', line 17 def tsort_each_node(&) @importers.keys.each(&) end |