class Facts::Macosx::Virtual

Constants

FACT_NAME

Public Instance Methods

call_the_resolver() click to toggle source
# File lib/facter/facts/macosx/virtual.rb, line 8
def call_the_resolver
  fact_value = check_vmware || check_virtualbox || check_parallels || 'physical'

  Facter::ResolvedFact.new(FACT_NAME, fact_value)
end

Private Instance Methods

check_parallels() click to toggle source
# File lib/facter/facts/macosx/virtual.rb, line 26
def check_parallels
  subsystem_vendor_id = Facter::Resolvers::Macosx::SystemProfiler.resolve(:subsystem_vendor_id)
  return 'parallels' if subsystem_vendor_id&.start_with?('0x1ab8')
end
check_virtualbox() click to toggle source
# File lib/facter/facts/macosx/virtual.rb, line 21
def check_virtualbox
  boot_rom_version = Facter::Resolvers::Macosx::SystemProfiler.resolve(:boot_rom_version)
  return 'virtualbox' if boot_rom_version&.start_with?('VirtualBox')
end
check_vmware() click to toggle source
# File lib/facter/facts/macosx/virtual.rb, line 16
def check_vmware
  model_identifier = Facter::Resolvers::Macosx::SystemProfiler.resolve(:model_identifier)
  return 'vmware' if model_identifier&.start_with?('VMware')
end