puppet_settings.rb 635 Bytes
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# frozen_string_literal: true

# A method to evaluate a Facter code block if puppet is loaded.
module Facter::Util::PuppetSettings
  # This method is intended to provide a convenient way to evaluate a
  # Facter code block only if Puppet is loaded.  This is to account for the
  # situation where the fact happens to be in the load path, but Puppet is
  # not loaded for whatever reason.  Perhaps the user is simply running
  # facter without the --puppet flag and they happen to be working in a lib
  # directory of a module.
  def self.with_puppet
    Module.const_get('Puppet')
  rescue NameError
    nil
  else
    yield
  end
end