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, **options) ⇒ Leaf


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

def initialize(value: nil, **options)
  @value = value
  super(**options)
end

Instance Attribute Details

#typeObject

Returns the value of attribute type


6
7
8
# File 'lib/puppet/parser/ast/leaf.rb', line 6

def type
  @type
end

#valueObject

Returns the value of attribute value


6
7
8
# File 'lib/puppet/parser/ast/leaf.rb', line 6

def value
  @value
end

Instance Method Details

#evaluate(scope) ⇒ Object

Return our value.


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

def evaluate(scope)
  @value
end

#match(value) ⇒ Object


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

def match(value)
  @value == value
end

#to_sObject


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

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