Sha256: 13881b4d546f0f2dee1fa9662d58eafa8ec5d29abaf97efd3f902525ec05d46f

Contents?: true

Size: 1.04 KB

Versions: 83

Compression:

Stored size: 1.04 KB

Contents

require 'facter/operatingsystem/base'
require 'facter/operatingsystem/osreleaselinux'
require 'facter/operatingsystem/cumuluslinux'
require 'facter/operatingsystem/linux'
require 'facter/operatingsystem/sunos'
require 'facter/operatingsystem/vmkernel'
require 'facter/operatingsystem/windows'

module Facter
  module Operatingsystem
    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
  end
end

Version data entries

83 entries across 83 versions & 2 rubygems

Version Path
facter-2.5.7 lib/facter/operatingsystem/implementation.rb
facter-2.5.7-x86-mingw32 lib/facter/operatingsystem/implementation.rb
facter-2.5.7-x64-mingw32 lib/facter/operatingsystem/implementation.rb
facter-2.5.7-universal-darwin lib/facter/operatingsystem/implementation.rb
facter-2.5.6-x86-mingw32 lib/facter/operatingsystem/implementation.rb
facter-2.5.6-x64-mingw32 lib/facter/operatingsystem/implementation.rb
facter-2.5.6-universal-darwin lib/facter/operatingsystem/implementation.rb
facter-2.5.6 lib/facter/operatingsystem/implementation.rb
facter-2.5.5-x86-mingw32 lib/facter/operatingsystem/implementation.rb
facter-2.5.5-x64-mingw32 lib/facter/operatingsystem/implementation.rb
facter-2.5.5-universal-darwin lib/facter/operatingsystem/implementation.rb
facter-2.5.5 lib/facter/operatingsystem/implementation.rb
facter-2.5.4-x86-mingw32 lib/facter/operatingsystem/implementation.rb
facter-2.5.4-x64-mingw32 lib/facter/operatingsystem/implementation.rb
facter-2.5.4-universal-darwin lib/facter/operatingsystem/implementation.rb
facter-2.5.4 lib/facter/operatingsystem/implementation.rb
bolt-0.24.0 vendored/facter/lib/facter/operatingsystem/implementation.rb
bolt-0.23.0 vendored/facter/lib/facter/operatingsystem/implementation.rb
bolt-0.22.0 vendored/facter/lib/facter/operatingsystem/implementation.rb
bolt-0.21.8 vendored/facter/lib/facter/operatingsystem/implementation.rb