class Facter::Resolvers::DmiDecode

Constants

ADDRESS_TO_VERSION

Private Class Methods

extract_vmware_version(output) click to toggle source
# File lib/facter/resolvers/dmi_decode.rb, line 44
def extract_vmware_version(output)
  address_of_version = output.match(/Address:\s(0x[a-zA-Z0-9]*)/)&.captures&.first

  ADDRESS_TO_VERSION[address_of_version&.hex]
end
post_resolve(fact_name) click to toggle source
# File lib/facter/resolvers/dmi_decode.rb, line 29
def post_resolve(fact_name)
  @fact_list.fetch(fact_name) { run_dmidecode(fact_name) }
end
run_dmidecode(fact_name) click to toggle source
# File lib/facter/resolvers/dmi_decode.rb, line 33
def run_dmidecode(fact_name)
  output = Facter::Core::Execution.execute('dmidecode', logger: log)

  @fact_list[:virtualbox_version] = output.match(/vboxVer_(\S+)/)&.captures&.first
  @fact_list[:virtualbox_revision] = output.match(/vboxRev_(\S+)/)&.captures&.first
  @fact_list[:vmware_version] = extract_vmware_version(output)
  @fact_list[:vendor] = output.match(/Vendor: (\S+)/)&.captures&.first

  @fact_list[fact_name]
end