File tree Expand file tree Collapse file tree 3 files changed +24
-12
lines changed Expand file tree Collapse file tree 3 files changed +24
-12
lines changed Original file line number Diff line number Diff line change 12
12
# 600 file and will have the end result of not calling your
13
13
# fact scripts more often than is needed
14
14
15
- require 'facter/util/puppet_settings'
16
-
17
15
class Facter ::Util ::DotD
18
16
require 'yaml'
19
17
Original file line number Diff line number Diff line change 4
4
# regardless of the node's platform.
5
5
#
6
6
# 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
8
18
9
19
Facter . add ( :puppet_vardir ) do
10
20
setcode do
Original file line number Diff line number Diff line change 1
1
module Facter
2
2
module Util
3
3
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
13
17
end
14
18
end
15
19
end
You can’t perform that action at this time.
0 commit comments