Module: PuppetRepl::Support::Scope
- Included in:
- PuppetRepl::Support
- Defined in:
- lib/puppet-repl/support/scope.rb
Instance Method Summary collapse
- #create_scope ⇒ Object
-
#scope ⇒ Scope
Puppet scope object.
-
#scope_vars ⇒ Object
returns a hash of varaibles that are currently in scope.
- #set_scope(value) ⇒ Object
Instance Method Details
#create_scope ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/puppet-repl/support/scope.rb', line 16 def create_scope do_initialize begin @compiler = create_compiler(node) # creates a new compiler for each scope scope = Puppet::Parser::Scope.new(@compiler) # creates a node class scope.source = Puppet::Resource::Type.new(:node, node.name) scope.parent = @compiler.topscope load_lib_dirs # compiling will load all the facts into the scope # without this step facts will not get resolved scope.compiler.compile # this will load everything into the scope rescue StandardError => e err = parse_error(e) raise err end scope end |
#scope ⇒ Scope
Returns puppet scope object.
9 10 11 12 13 14 |
# File 'lib/puppet-repl/support/scope.rb', line 9 def scope unless @scope @scope ||= create_scope end @scope end |
#scope_vars ⇒ Object
returns a hash of varaibles that are currently in scope
36 37 38 39 |
# File 'lib/puppet-repl/support/scope.rb', line 36 def scope_vars vars = scope.to_hash.delete_if {| key, value | node.facts.values.key?(key.to_sym) } vars['facts'] = 'removed by the puppet-repl' end |
#set_scope(value) ⇒ Object
4 5 6 |
# File 'lib/puppet-repl/support/scope.rb', line 4 def set_scope(value) @scope = value end |