Class: Puppet::Parser::AST::Regex
- Inherits:
-
Leaf
- Object
- Puppet::Parser::AST
- Leaf
- Puppet::Parser::AST::Regex
- Defined in:
- lib/puppet/parser/ast/leaf.rb
Constant Summary
Constants inherited from Puppet::Parser::AST
Instance Attribute Summary
Attributes inherited from Leaf
Attributes inherited from Puppet::Parser::AST
Attributes included from Util::Docs
Attributes included from FileCollection::Lookup
Instance Method Summary collapse
-
#evaluate(scope) ⇒ Object
we’re returning self here to wrap the regexp and to be used in places where a string would have been used, without modifying any client code.
- #evaluate_match(value, scope, options = {}) ⇒ Object
-
#initialize(hash) ⇒ Regex
constructor
A new instance of Regex.
- #match(value) ⇒ Object
- #to_s ⇒ Object
Methods inherited from Puppet::Parser::AST
associates_doc, #inspect, #parsefail, #parsewrap, #safeevaluate, settor?, #use_docs
Methods included from Util::Docs
#desc, #dochook, #doctable, #nodoc?, #pad, scrub
Methods included from Util::MethodHelper
#requiredopts, #set_options, #symbolize_options
Methods included from Util::Errors
#adderrorcontext, #devfail, #error_context, #exceptwrap, #fail
Methods included from FileCollection::Lookup
#file, #file=, #file_collection
Constructor Details
#initialize(hash) ⇒ Regex
Returns a new instance of Regex.
186 187 188 189 |
# File 'lib/puppet/parser/ast/leaf.rb', line 186 def initialize(hash) super @value = Regexp.new(@value) unless @value.is_a?(Regexp) end |
Instance Method Details
#evaluate(scope) ⇒ Object
we’re returning self here to wrap the regexp and to be used in places where a string would have been used, without modifying any client code. For instance, in many places we have the following code snippet:
val = @val.safeevaluate(@scope)
if val.match(otherval)
...
end
this way, we don’t have to modify this test specifically for handling regexes.
200 201 202 |
# File 'lib/puppet/parser/ast/leaf.rb', line 200 def evaluate(scope) self end |
#evaluate_match(value, scope, options = {}) ⇒ Object
204 205 206 207 208 209 210 211 |
# File 'lib/puppet/parser/ast/leaf.rb', line 204 def evaluate_match(value, scope, = {}) value = value.is_a?(String) ? value : value.to_s if matched = @value.match(value) scope.ephemeral_from(matched, [:file], [:line]) end matched end |
#match(value) ⇒ Object
213 214 215 |
# File 'lib/puppet/parser/ast/leaf.rb', line 213 def match(value) @value.match(value) end |
#to_s ⇒ Object
217 218 219 |
# File 'lib/puppet/parser/ast/leaf.rb', line 217 def to_s "/#{@value.source}/" end |