# File lib/puppet/parser/ast/ifstatement.rb, line 18 18: def evaluate(scope) 19: level = scope.ephemeral_level 20: value = @test.safeevaluate(scope) 21: 22: # let's emulate a new scope for each branches 23: begin 24: if Puppet::Parser::Scope.true?(value) 25: return @statements.safeevaluate(scope) 26: else 27: return defined?(@else) ? @else.safeevaluate(scope) : nil 28: end 29: ensure 30: scope.unset_ephemeral_var(level) 31: end 32: end