Class: Puppet::Parser::AST::Leaf

Inherits:
Puppet::Parser::AST show all
Defined in:
lib/puppet/parser/ast/leaf.rb

Overview

The base class for all of the leaves of the parse trees. These basically just have types and values. Both of these parameters are simple values, not AST objects.

Direct Known Subclasses

HostName, PopsBridge::Expression, Regex

Constant Summary

Constants inherited from Puppet::Parser::AST

AST

Instance Attribute Summary collapse

Attributes inherited from Puppet::Parser::AST

#file, #line, #parent, #pos, #scope

Instance Method Summary collapse

Methods inherited from Puppet::Parser::AST

#inspect, #safeevaluate

Methods included from Util::Errors

#adderrorcontext, #devfail, #error_context, error_location, error_location_with_space, error_location_with_unknowns, #exceptwrap, #fail

Constructor Details

#initialize(value: nil, file: nil, line: nil, pos: nil) ⇒ Leaf

Returns a new instance of Leaf.



23
24
25
26
# File 'lib/puppet/parser/ast/leaf.rb', line 23

def initialize(value: nil, file: nil, line: nil, pos: nil)
  @value = value
  super(file: file, line: line, pos: pos)
end

Instance Attribute Details

#typeObject

Returns the value of attribute type.



8
9
10
# File 'lib/puppet/parser/ast/leaf.rb', line 8

def type
  @type
end

#valueObject

Returns the value of attribute value.



8
9
10
# File 'lib/puppet/parser/ast/leaf.rb', line 8

def value
  @value
end

Instance Method Details

#evaluate(scope) ⇒ Object

Return our value.



11
12
13
# File 'lib/puppet/parser/ast/leaf.rb', line 11

def evaluate(scope)
  @value
end

#match(value) ⇒ Object



15
16
17
# File 'lib/puppet/parser/ast/leaf.rb', line 15

def match(value)
  @value == value
end

#to_sObject



19
20
21
# File 'lib/puppet/parser/ast/leaf.rb', line 19

def to_s
  @value.to_s unless @value.nil?
end