summaryrefslogtreecommitdiff
path: root/code/environments/production/modules/stdlib/lib/facter/util/puppet_settings.rb
blob: d12e92c9713b63f8d2a93e958cfcd691ddf7a406 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 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