diff options
Diffstat (limited to 'code/environments/production/modules/stdlib/lib/facter/util/puppet_settings.rb')
-rw-r--r-- | code/environments/production/modules/stdlib/lib/facter/util/puppet_settings.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/code/environments/production/modules/stdlib/lib/facter/util/puppet_settings.rb b/code/environments/production/modules/stdlib/lib/facter/util/puppet_settings.rb new file mode 100644 index 0000000..d12e92c --- /dev/null +++ b/code/environments/production/modules/stdlib/lib/facter/util/puppet_settings.rb @@ -0,0 +1,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 |