class Facts::Windows::Hypervisors::Virtualbox

Constants

FACT_NAME

Public Instance Methods

call_the_resolver() click to toggle source
# File lib/facter/facts/windows/hypervisors/virtualbox.rb, line 9
def call_the_resolver
  fact_value = populate_version_and_revision if virtualbox?

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

Private Instance Methods

populate_version_and_revision() click to toggle source
# File lib/facter/facts/windows/hypervisors/virtualbox.rb, line 22
def populate_version_and_revision
  oem_strings = Facter::Resolvers::Virtualization.resolve(:oem_strings)
  return unless oem_strings

  version = revision = ''

  oem_strings.each do |string|
    version = string[8, string.size] if string.start_with?('vboxVer_') && version.empty?
    revision = string[8, string.size] if string.start_with?('vboxRev_') && revision.empty?
  end
  { version: version, revision: revision }
end
virtualbox?() click to toggle source
# File lib/facter/facts/windows/hypervisors/virtualbox.rb, line 17
def virtualbox?
  Facter::Resolvers::Virtualization.resolve(:virtual) == 'virtualbox' ||
    Facter::Resolvers::DMIComputerSystem.resolve(:name) == 'VirtualBox'
end