File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1212# 600 file and will have the end result of not calling your
1313# fact scripts more often than is needed
1414
15- require 'facter/util/puppet_settings'
16-
1715class Facter ::Util ::DotD
1816 require 'yaml'
1917
Original file line number Diff line number Diff line change 44# regardless of the node's platform.
55#
66# The value should be directly usable in a File resource path attribute.
7- require 'facter/util/puppet_settings'
7+
8+
9+ begin
10+ require 'facter/util/puppet_settings'
11+ rescue LoadError => e
12+ # puppet apply does not add module lib directories to the $LOAD_PATH (See
13+ # #4248). It should (in the future) but for the time being we need to be
14+ # defensive which is what this rescue block is doing.
15+ rb_file = File . join ( File . dirname ( __FILE__ ) , 'util' , 'puppet_settings.rb' )
16+ load rb_file if File . exists? ( rb_file ) or raise e
17+ end
818
919Facter . add ( :puppet_vardir ) do
1020 setcode do
Original file line number Diff line number Diff line change 11module Facter
22 module Util
33 module PuppetSettings
4- class << self
5- def with_puppet
6- begin
7- Module . const_get ( "Puppet" )
8- rescue NameError
9- nil
10- else
11- yield
12- end
4+ # This method is intended to provide a convenient way to evaluate a
5+ # Facter code block only if Puppet is loaded. This is to account for the
6+ # situation where the fact happens to be in the load path, but Puppet is
7+ # not loaded for whatever reason. Perhaps the user is simply running
8+ # facter without the --puppet flag and they happen to be working in a lib
9+ # directory of a module.
10+ def self . with_puppet
11+ begin
12+ Module . const_get ( "Puppet" )
13+ rescue NameError
14+ nil
15+ else
16+ yield
1317 end
1418 end
1519 end
You can’t perform that action at this time.
0 commit comments