summaryrefslogtreecommitdiff
path: root/puppet/modules/stdlib/lib/facter/util/puppet_settings.rb
blob: 1ad945218ae8cbeee849ceb7a7543b081181cbe7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
module Facter
  module Util
    module 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
        begin
          Module.const_get("Puppet")
        rescue NameError
          nil
        else
          yield
        end
      end
    end
  end
end