class Puppet::Parser::AST::CaseOpt

Each individual option in a case statement.

Attributes

statements[RW]
value[RW]

Public Instance Methods

default?() click to toggle source

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
each() { |child| ... } click to toggle source

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
eachopt() { |subval| ... } click to toggle source
# File lib/puppet/parser/ast/caseopt.rb, line 40
def eachopt
  @value.each { |subval|
    yield subval
  }
end
eachvalue(scope) { |safeevaluate| ... } click to toggle source

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(scope) click to toggle source

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