Each individual option in a case statement.
Are we the default option?
# File lib/puppet/parser/ast/caseopt.rb, line 17 def default? # Cache the @default value. return @default if defined?(@default) @value.each { |subval| if subval.is_a?(AST::Default) @default = true break end } @default ||= false @default end
CaseOpt is a bit special -- we just want the value first, so that CaseStatement can compare, and then it will selectively decide whether to fully evaluate this option
# File lib/puppet/parser/ast/caseopt.rb, line 12 def each [@value,@statements].each { |child| yield child } end
# File lib/puppet/parser/ast/caseopt.rb, line 40 def eachopt @value.each { |subval| yield subval } end
You can specify a list of values; return each in turn.
# File lib/puppet/parser/ast/caseopt.rb, line 34 def eachvalue(scope) @value.each { |subval| yield subval.safeevaluate(scope) } end
Evaluate the actual statements; this only gets called if our option matched.
# File lib/puppet/parser/ast/caseopt.rb, line 48 def evaluate(scope) @statements.safeevaluate(scope) end