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 9 def initialize(scope, resources) 10 super(scope) 11 @resources = resources.is_a?(Array)? resources.dup : [resources] 12 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 16 def collect 17 resolved = [] 18 result = @resources.reduce([]) do |memo, ref| 19 res = @scope.findresource(ref.to_s) 20 if res 21 res.virtual = false 22 memo << res 23 resolved << ref 24 end 25 memo 26 end 27 28 @resources = @resources - resolved 29 30 @scope.compiler.delete_collection(self) if @resources.empty? 31 32 result 33 end
unresolved_resources()
click to toggle source
# File lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb 35 def unresolved_resources 36 @resources 37 end