module Facter::Operatingsystem

Public Class Methods

implementation(kernel = Facter.value(:kernel)) click to toggle source
# File lib/facter/operatingsystem/implementation.rb, line 11
def self.implementation(kernel = Facter.value(:kernel))
  case kernel
  when "Linux", "GNU/kFreeBSD"
    release_info = Facter::Util::Operatingsystem.os_release
    if release_info['NAME'] == "Cumulus Linux"
      Facter::Operatingsystem::CumulusLinux.new
    elsif release_info['NAME'] == "CoreOS"
      Facter::Operatingsystem::OsReleaseLinux.new
    else
      Facter::Operatingsystem::Linux.new
    end
  when "SunOS"
    Facter::Operatingsystem::SunOS.new
  when "VMkernel"
    Facter::Operatingsystem::VMkernel.new
  when "windows"
    Facter::Operatingsystem::Windows.new
  else
    Facter::Operatingsystem::Base.new
  end
end