module Facter::Util::Config

A module to return config related data

Public Class Methods

ext_fact_loader() click to toggle source
# File lib/facter/util/config.rb, line 7
def self.ext_fact_loader
  @ext_fact_loader || Facter::Util::DirectoryLoader.default_loader
end
ext_fact_loader=(loader) click to toggle source
# File lib/facter/util/config.rb, line 11
def self.ext_fact_loader=(loader)
  @ext_fact_loader = loader
end
external_facts_dirs() click to toggle source
# File lib/facter/util/config.rb, line 36
def self.external_facts_dirs
  @external_facts_dirs
end
external_facts_dirs=(dir) click to toggle source
# File lib/facter/util/config.rb, line 32
def self.external_facts_dirs=(dir)
  @external_facts_dirs = dir
end
is_mac?() click to toggle source
# File lib/facter/util/config.rb, line 15
def self.is_mac?
  RbConfig::CONFIG['host_os'] =~ /darwin/i
end
is_windows?() click to toggle source

Returns true if OS is windows

# File lib/facter/util/config.rb, line 20
def self.is_windows?
  RbConfig::CONFIG['host_os'] =~ /mswin|win32|dos|mingw|cygwin/i
end
override_binary_dir() click to toggle source
# File lib/facter/util/config.rb, line 75
def self.override_binary_dir
  @override_binary_dir
end
override_binary_dir=(dir) click to toggle source
# File lib/facter/util/config.rb, line 71
def self.override_binary_dir=(dir)
  @override_binary_dir = dir
end
setup_default_ext_facts_dirs() click to toggle source
# File lib/facter/util/config.rb, line 40
def self.setup_default_ext_facts_dirs
  if Facter::Util::Root.root?
    windows_dir = windows_data_dir
    if windows_dir.nil? then
      # Note: Beginning with Facter 3, /opt/puppetlabs/facter/facts.d will be the only
      # default external fact directory.
      @external_facts_dirs = ["/opt/puppetlabs/facter/facts.d",
                              "/etc/facter/facts.d",
                              "/etc/puppetlabs/facter/facts.d"]
    else
      @external_facts_dirs = [File.join(windows_dir, 'PuppetLabs', 'facter', 'facts.d')]
    end
  elsif ENV['HOME']
    # Note: Beginning with Facter 3, ~/.puppetlabs/opt/facter/facts.d will be the only
    # default external fact directory.
    @external_facts_dirs = [File.expand_path(File.join(ENV['HOME'], ".puppetlabs", "opt", "facter", "facts.d")),
                            File.expand_path(File.join(ENV['HOME'], ".facter", "facts.d"))]
  else
    @external_facts_dirs = []
  end
end
setup_default_override_binary_dir() click to toggle source
# File lib/facter/util/config.rb, line 79
def self.setup_default_override_binary_dir
  if Facter::Util::Config.is_windows?
    @override_binary_dir = nil
  else
    @override_binary_dir = "/opt/puppetlabs/puppet/bin"
  end
end
windows_data_dir() click to toggle source
# File lib/facter/util/config.rb, line 24
def self.windows_data_dir
  if Facter::Util::Config.is_windows?
    Facter::Util::Windows::Dir.get_common_appdata()
  else
    nil
  end
end