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 49
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, _options) click to toggle source
# File lib/facter/resolvers/solaris/dmi.rb, line 12
def post_resolve(fact_name, _options)
  @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 34
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