Sha256: 74c2f0fa1855161d80785412bfdc886b148f8fd4b2c522cb119c637fa06745cf

Contents?: true

Size: 963 Bytes

Versions: 2

Compression:

Stored size: 963 Bytes

Contents

# frozen_string_literal: true

module Facter
  module Windows
    class OsRelease
      FACT_NAME = 'os.release'
      ALIASES = %w[operatingsystemmajrelease operatingsystemrelease].freeze

      def call_the_resolver
        arr = []
        input = {
          consumerrel: description_resolver(:consumerrel),
          description: description_resolver(:description),
          version: kernel_resolver(:kernelmajorversion),
          kernel_version: kernel_resolver(:kernelversion)
        }

        fact_value = WindowsReleaseFinder.find_release(input)
        arr << ResolvedFact.new(FACT_NAME, ({ full: fact_value, major: fact_value } if fact_value))
        ALIASES.each { |aliass| arr << ResolvedFact.new(aliass, fact_value, :legacy) }
        arr
      end

      def description_resolver(key)
        Resolvers::WinOsDescription.resolve(key)
      end

      def kernel_resolver(key)
        Resolvers::Kernel.resolve(key)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
facter-4.0.8.pre lib/facts/windows/os/release.rb
facter-4.0.7.pre lib/facts/windows/os/release.rb