module PuppetDebugger::Support::Environment

Public Instance Methods

bolt_modules() click to toggle source
# File lib/puppet-debugger/support/environment.rb, line 25
def bolt_modules
  spec = Gem::Specification.latest_specs.find { |s| s.name.eql?('bolt') }
  File.join(spec.full_gem_path, 'bolt-modules') if spec
end
create_environment() click to toggle source

returns the environment

# File lib/puppet-debugger/support/environment.rb, line 44
def create_environment
  Puppet::Node::Environment.create(Puppet[:environment],
                                   default_modules_paths,
                                   default_manifests_dir)
end
create_node_environment(manifest = nil) click to toggle source
# File lib/puppet-debugger/support/environment.rb, line 50
def create_node_environment(manifest = nil)
  env = Puppet.lookup(:current_environment)
  manifest ? env.override_with(manifest: manifest) : env
end
default_manifests_dir() click to toggle source
# File lib/puppet-debugger/support/environment.rb, line 35
def default_manifests_dir
  File.join(Puppet[:environmentpath], Puppet[:environment], 'manifests')
end
default_modules_paths() click to toggle source

returns an array of module directories, generally this is the only place to look for puppet code by default. This is read from the puppet configuration

# File lib/puppet-debugger/support/environment.rb, line 15
def default_modules_paths
  dirs = []
  # add the puppet-debugger directory so we can load any defined functions
  dirs << File.join(Puppet[:environmentpath], default_puppet_env_name, 'modules') unless Puppet[:environmentpath].empty?
  dirs << Puppet.settings[:basemodulepath].split(File::PATH_SEPARATOR)
  dirs << Puppet.settings[:vendormoduledir].split(File::PATH_SEPARATOR) if Puppet.settings[:vendormoduledir]
  dirs << bolt_modules
  dirs.flatten.compact.uniq
end
default_puppet_env_name() click to toggle source

the cached name of the environment

# File lib/puppet-debugger/support/environment.rb, line 64
def default_puppet_env_name
  ENV['PUPPET_ENV'] || Puppet[:environment]
end
default_site_manifest() click to toggle source
# File lib/puppet-debugger/support/environment.rb, line 39
def default_site_manifest
  File.join(default_manifests_dir, 'site.pp')
end
environment()
Alias for: puppet_environment
environment_loaders() click to toggle source

currently this is not being used

# File lib/puppet-debugger/support/environment.rb, line 69
def environment_loaders
  compiler.loaders.public_environment_loader.loader_name
end
modules_paths() click to toggle source

returns all the modules paths defined in the environment

# File lib/puppet-debugger/support/environment.rb, line 31
def modules_paths
  puppet_environment.full_modulepath
end
puppet_env_name() click to toggle source
# File lib/puppet-debugger/support/environment.rb, line 59
def puppet_env_name
  puppet_environment.name
end
puppet_environment() click to toggle source

creates a puppet environment given a module path and environment name this is cached

# File lib/puppet-debugger/support/environment.rb, line 8
def puppet_environment
  @puppet_environment ||= create_environment
end
Also aliased as: environment
set_environment(value) click to toggle source
# File lib/puppet-debugger/support/environment.rb, line 55
def set_environment(value)
  @puppet_environment = value
end