class Facter::ConfigReader

Attributes

conf[RW]

Public Class Methods

block_list() click to toggle source
# File lib/facter/framework/config/config_reader.rb, line 14
def block_list
  @conf['facts'] && @conf['facts']['blocklist']
end
cli() click to toggle source
# File lib/facter/framework/config/config_reader.rb, line 26
def cli
  @conf['cli']
end
fact_groups() click to toggle source
# File lib/facter/framework/config/config_reader.rb, line 30
def fact_groups
  @conf['fact-groups']
end
global() click to toggle source
# File lib/facter/framework/config/config_reader.rb, line 22
def global
  @conf['global']
end
init(config_path = nil) click to toggle source
# File lib/facter/framework/config/config_reader.rb, line 8
def init(config_path = nil)
  config_path ||= default_path
  refresh_config(config_path)
  self
end
refresh_config(config_path) click to toggle source
# File lib/facter/framework/config/config_reader.rb, line 34
def refresh_config(config_path)
  @conf = File.readable?(config_path) ? Hocon.load(config_path) : {}
rescue StandardError => e
  log.warn("Facter failed to read config file #{config_path} with the following error: #{e.message}")
  @conf = {}
end
ttls() click to toggle source
# File lib/facter/framework/config/config_reader.rb, line 18
def ttls
  @conf['facts'] && @conf['facts']['ttls']
end

Private Class Methods

default_path() click to toggle source
# File lib/facter/framework/config/config_reader.rb, line 47
def default_path
  return '' if RUBY_PLATFORM == 'java'

  os = OsDetector.instance.identifier

  windows_path = File.join('C:', 'ProgramData', 'PuppetLabs', 'facter', 'etc', 'facter.conf')
  linux_path = File.join('/', 'etc', 'puppetlabs', 'facter', 'facter.conf')

  os == :windows ? windows_path : linux_path
end
log() click to toggle source
# File lib/facter/framework/config/config_reader.rb, line 43
def log
  @log ||= Log.new(self)
end