lib/puppet/parser/ast/casestatement.rb
# Short-curcuit evaluation.  Return the value of the statements for
# the first option that matches.
Short-curcuit evaluation.  Return the value of the statements for
the first option that matches.
Short - curcuit evaluation . Return the value of the statements for the first option that matches .
def evaluate(scope)
      level = scope.ephemeral_level
      value = @test.safeevaluate(scope)
      retvalue = nil
      found = false
      default = nil
      @options.each do |option|
        option.eachopt do |opt|
          return option.safeevaluate(scope) if opt.evaluate_match(value, scope)
        end
        default = option if option.default?
      end
      return default.safeevaluate(scope) if default
      Puppet.debug "No true answers and no default"
      return nil
    ensure
      scope.unset_ephemeral_var(level)
    end
def evaluate ( scope ) level = scope . ephemeral_level value = @test . safeevaluate ( scope ) retvalue = nil found = false default = nil @options . each do | option | option . eachopt do | opt | return option . safeevaluate ( scope ) if opt . evaluate_match ( value , scope ) end default = option if option . default? end return default . safeevaluate ( scope ) if default Puppet . debug "No true answers and no default" return nil ensure scope . unset_ephemeral_var ( level ) end
Short-curcuit evaluation.
Short - curcuit evaluation .
# Iterate across the options looking for a match. # Unless we found something, look for the default.
scope
<not_specific>