class Lono::Configset::Resolver
Public Instance Methods
register()
click to toggle source
# File lib/lono/configset/resolver.rb, line 29 def register @@dependencies.each do |jade| # dependency jades have minimal registry info. For additional info is pulled from stored reference data in # jade like jade.resource_from_parent. registry = jade.registry registry.resource = jade.resource_from_parent # Always prepend to Register::Blueprint.configsets to ensure they are run before any other configset. # Leaving old code in place for now. Possibly revisit this approach. Register::Blueprint.prepend(registry) # if jade.type == "blueprint/configset" # Register::Blueprint.prepend(registry) # elsif jade.type == "configset" # Register::Project.prepend(registry) # end end end
resolve(*unresolved)
click to toggle source
# File lib/lono/configset/resolver.rb, line 8 def resolve(*unresolved) unresolved.flatten! # initially only top-level unresolved.uniq! { |jade| jade.name } puts "Resolving dependencies..." if !@@resolving_message_shown && !unresolved.empty? puts "Resolving #{unresolved.map(&:name)}" if ENV['LONO_DEBUG_CONFIGSET'] @@resolving_message_shown = true unresolved.each do |jade| jade.check_for_circular_dependency! jade.materialize jade.dependencies.each do |j| @@dependencies << j # store for later registration unless j.resolved? or unresolved.include?(j) resolve(j) end end jade.resolved! # resolve after depth-first tranversal. So all dependencies have also been resolved at this point. end end