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 = {}) ⇒ 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.
129 130 131 132 |
# File 'lib/puppet/parser/scope.rb', line 129 def initialize(parent = nil, match_data = nil) super parent @match_data = match_data end |
Instance Attribute Details
#match_data ⇒ Object
127 128 129 |
# File 'lib/puppet/parser/scope.rb', line 127 def match_data @match_data end |
Instance Method Details
#[](name) ⇒ Object
138 139 140 141 142 143 144 |
# File 'lib/puppet/parser/scope.rb', line 138 def [](name) if bound?(name) @match_data[name.to_i] else super end end |
#[]=(name, value) ⇒ Object
157 158 159 160 |
# File 'lib/puppet/parser/scope.rb', line 157 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 = {}) ⇒ Object
167 168 169 170 |
# File 'lib/puppet/parser/scope.rb', line 167 def add_entries_to(target = {}) # do not include match data ($0-$n) super end |
#bound?(name) ⇒ Boolean
150 151 152 153 154 155 |
# File 'lib/puppet/parser/scope.rb', line 150 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
162 163 164 165 |
# File 'lib/puppet/parser/scope.rb', line 162 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
146 147 148 |
# File 'lib/puppet/parser/scope.rb', line 146 def include?(name) bound?(name) or super end |
#is_local_scope? ⇒ Boolean
134 135 136 |
# File 'lib/puppet/parser/scope.rb', line 134 def is_local_scope? false end |