summaryrefslogtreecommitdiff
path: root/lib/dslkeywords/resource.rb
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-02-19 00:00:06 +0200
committerPaul Buetow <paul@buetow.org>2025-02-19 00:00:06 +0200
commit13657c3c13dc62d6aba6e0633fc7f99e44170c06 (patch)
treeb3569dab6df4c1b1d0ed94082524cad304a6a3b6 /lib/dslkeywords/resource.rb
parent21c96e516044cf59a3b89c3b40c7efb279b0767c (diff)
nicer
Diffstat (limited to 'lib/dslkeywords/resource.rb')
-rw-r--r--lib/dslkeywords/resource.rb14
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/dslkeywords/resource.rb b/lib/dslkeywords/resource.rb
index be67b0a..3aff069 100644
--- a/lib/dslkeywords/resource.rb
+++ b/lib/dslkeywords/resource.rb
@@ -7,7 +7,7 @@ module RCM
module ResourceDependencies
def initialize(...)
super(...)
- @depends_on = Set.new
+ @requires = Set.new
@valid_resources = Set.new
ObjectSpace.each_object(Class).each do |klass|
@valid_resources << klass.to_s.sub('RCM::', '').downcase.to_sym if klass < Resource
@@ -22,16 +22,16 @@ module RCM
def respond_to_missing? = true
- def depends_on(*others)
- return @depends_on if others.empty?
+ def requires(*others)
+ return @requires if others.empty?
others.flatten.each do |other|
info "Registered dependency on #{other}"
- @depends_on << other
+ @requires << other
end
end
- def depends_on?(*others) = others.flatten.none? { |other| !@depends_on&.include?(other) }
+ def requires?(*others) = others.flatten.none? { |other| !@requires&.include?(other) }
end
# To resolve dependencies
@@ -49,10 +49,10 @@ module RCM
@loop_detection = true
# Try to evaluate all dependencies recursively.
- @depends_on.each.map { Resource.find(_1) }.each(&:evaluate!)
+ @requires.each.map { Resource.find(_1) }.each(&:evaluate!)
# Raise an exception when there are still unresolved dependencies.
- unresolved = @depends_on.each.map { Resource.find(_1) }.reject(&:evaluated)
+ unresolved = @requires.each.map { Resource.find(_1) }.reject(&:evaluated)
raise UnresolvedDependency, "Unresolved dependencies: #{unresolved.map(&:id)}" if unresolved.count.positive?
@loop_detection = false