Class: Puppet::Parser::Scope::MatchScope
- Defined in:
- lib/puppet/parser/scope.rb
Instance Attribute Summary collapse
Attributes inherited from Ephemeral
Instance Method Summary collapse
- #[](name) ⇒ Object
- #[]=(name, value) ⇒ Object
- #add_entries_to(target = {}, include_undef = false) ⇒ Object
- #bound?(name) ⇒ Boolean
- #delete(name) ⇒ Object
- #include?(name) ⇒ Boolean
-
#initialize(parent = nil, match_data = nil) ⇒ MatchScope
constructor
A new instance of MatchScope.
- #is_local_scope? ⇒ Boolean
Constructor Details
#initialize(parent = nil, match_data = nil) ⇒ MatchScope
Returns a new instance of MatchScope.
124 125 126 127 |
# File 'lib/puppet/parser/scope.rb', line 124 def initialize(parent = nil, match_data = nil) super parent @match_data = match_data end |
Instance Attribute Details
#match_data ⇒ Object
122 123 124 |
# File 'lib/puppet/parser/scope.rb', line 122 def match_data @match_data end |
Instance Method Details
#[](name) ⇒ Object
133 134 135 136 137 138 139 |
# File 'lib/puppet/parser/scope.rb', line 133 def [](name) if bound?(name) @match_data[name.to_i] else super end end |
#[]=(name, value) ⇒ Object
152 153 154 155 |
# File 'lib/puppet/parser/scope.rb', line 152 def []=(name, value) # TODO: Bad choice of exception raise Puppet::ParseError, _("Numerical variables cannot be changed. Attempt to set $%{name}") % { name: name } end |
#add_entries_to(target = {}, include_undef = false) ⇒ Object
162 163 164 165 |
# File 'lib/puppet/parser/scope.rb', line 162 def add_entries_to(target = {}, include_undef = false) # do not include match data ($0-$n) super end |
#bound?(name) ⇒ Boolean
145 146 147 148 149 150 |
# File 'lib/puppet/parser/scope.rb', line 145 def bound?(name) # A "match variables" scope reports all numeric variables to be bound if the scope has # match_data. Without match data the scope is transparent. # @match_data && name =~ /^\d+$/ end |
#delete(name) ⇒ Object
157 158 159 160 |
# File 'lib/puppet/parser/scope.rb', line 157 def delete(name) # TODO: Bad choice of exception raise Puppet::ParseError, _("Numerical variables cannot be deleted: Attempt to delete: $%{name}") % { name: name } end |
#include?(name) ⇒ Boolean
141 142 143 |
# File 'lib/puppet/parser/scope.rb', line 141 def include?(name) bound?(name) or super end |
#is_local_scope? ⇒ Boolean
129 130 131 |
# File 'lib/puppet/parser/scope.rb', line 129 def is_local_scope? false end |