Class: Puppet::Parser::Scope::Ephemeral
- Extended by:
- Forwardable
- Defined in:
- lib/puppet/parser/scope.rb
Overview
thin wrapper around an ephemeral symbol table. when a symbol
Instance Method Summary collapse
- #[](name) ⇒ Object
- #add_entries_to(target = {}) ⇒ Object
- #bound?(name) ⇒ Boolean
- #include?(name) ⇒ Boolean
-
#initialize(parent = nil, local = false) ⇒ Ephemeral
constructor
A new instance of Ephemeral.
- #is_local_scope? ⇒ Boolean
- #parent ⇒ Ephemeral, ...
Constructor Details
#initialize(parent = nil, local = false) ⇒ Ephemeral
Returns a new instance of Ephemeral.
45 46 47 48 49 |
# File 'lib/puppet/parser/scope.rb', line 45 def initialize(parent=nil, local=false) @symbols = {} @parent = parent @local_scope = local end |
Instance Method Details
#[](name) ⇒ Object
53 54 55 56 57 58 59 |
# File 'lib/puppet/parser/scope.rb', line 53 def [](name) if @symbols.include?(name) or @parent.nil? @symbols[name] else @parent[name] end end |
#add_entries_to(target = {}) ⇒ Object
78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/puppet/parser/scope.rb', line 78 def add_entries_to(target = {}) @parent.add_entries_to(target) unless @parent.nil? # do not return pure ephemeral ($0-$n) if is_local_scope? @symbols.each do |k, v| if v == :undef target.delete(k) else target[ k ] = v end end end target end |
#bound?(name) ⇒ Boolean
65 66 67 |
# File 'lib/puppet/parser/scope.rb', line 65 def bound?(name) @symbols.include?(name) end |
#include?(name) ⇒ Boolean
61 62 63 |
# File 'lib/puppet/parser/scope.rb', line 61 def include?(name) bound?(name) or (@parent and @parent.include?(name)) end |
#is_local_scope? ⇒ Boolean
69 70 71 |
# File 'lib/puppet/parser/scope.rb', line 69 def is_local_scope? @local_scope end |
#parent ⇒ Ephemeral, ...
74 75 76 |
# File 'lib/puppet/parser/scope.rb', line 74 def parent @parent end |