class Facter::Resolvers::Solaris::Dmi

Constants

SMBIOS_PARAMS

Private Class Methods

exec_smbios(args) click to toggle source
# File lib/facter/resolvers/solaris/dmi.rb, line 48
def exec_smbios(args)
  return unless File.executable?('/usr/sbin/smbios')

  Facter::Core::Execution.execute("/usr/sbin/smbios -t #{args}", logger: log)
end
post_resolve(fact_name) click to toggle source
# File lib/facter/resolvers/solaris/dmi.rb, line 11
def post_resolve(fact_name)
  @fact_list.fetch(fact_name) { read_facts(fact_name) }
end
read_facts(fact_name) click to toggle source
# File lib/facter/resolvers/solaris/dmi.rb, line 33
def read_facts(fact_name)
  param = SMBIOS_PARAMS.find { |_key, hash| hash[fact_name] }
  return nil unless param

  output = exec_smbios(param[0])
  facts = param[1]
  return unless output

  facts.each do |name, regx|
    @fact_list[name] = output.match(/#{regx}/)&.captures&.first
  end

  @fact_list[fact_name]
end