class Puppet::Pops::Evaluator::Collectors::FixedSetCollector
Public Class Methods
new(scope, resources)
click to toggle source
Creates a FixedSetCollector using the AbstractCollector constructor to set the scope. It is not possible for a collection to have overrides in this case, since we have a fixed set of resources that can be different types.
@param [Array] resources the fixed set of resources we want to realize
Calls superclass method
Puppet::Pops::Evaluator::Collectors::AbstractCollector::new
# File lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb 10 def initialize(scope, resources) 11 super(scope) 12 @resources = resources.is_a?(Array)? resources.dup : [resources] 13 end
Public Instance Methods
collect()
click to toggle source
Collects a fixed set of resources and realizes them. Used by the realize function
# File lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb 17 def collect 18 resolved = [] 19 result = @resources.reduce([]) do |memo, ref| 20 res = @scope.findresource(ref.to_s) 21 if res 22 res.virtual = false 23 memo << res 24 resolved << ref 25 end 26 memo 27 end 28 29 @resources = @resources - resolved 30 31 @scope.compiler.delete_collection(self) if @resources.empty? 32 33 result 34 end
unresolved_resources()
click to toggle source
# File lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb 36 def unresolved_resources 37 @resources 38 end