Sha256: 03390c2cc3289a5999c7e8703a71af28a792238c5ca91ab7790c16883079629c

Contents?: true

Size: 1.07 KB

Versions: 34

Compression:

Stored size: 1.07 KB

Contents

# frozen_string_literal: true

module Facts
  module Sles
    module Os
      module Distro
        class Release
          FACT_NAME = 'os.distro.release'
          ALIASES = %w[lsbdistrelease lsbmajdistrelease lsbminordistrelease].freeze

          def call_the_resolver
            version = Facter::Resolvers::OsRelease.resolve(:version_id)
            fact_value = build_fact_list(version)

            [Facter::ResolvedFact.new(FACT_NAME, fact_value),
             Facter::ResolvedFact.new(ALIASES[0], fact_value[:full], :legacy),
             Facter::ResolvedFact.new(ALIASES[1], fact_value[:major], :legacy),
             Facter::ResolvedFact.new(ALIASES[2], fact_value[:minor], :legacy)]
          end

          def build_fact_list(version)
            if version.include?('.')
              {
                full: version,
                major: version.split('.').first,
                minor: version.split('.').last
              }
            else
              { full: version, major: version, minor: nil }
            end
          end
        end
      end
    end
  end
end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
facter-4.10.0 lib/facter/facts/sles/os/distro/release.rb
facter-4.9.0 lib/facter/facts/sles/os/distro/release.rb
facter-4.8.0 lib/facter/facts/sles/os/distro/release.rb
facter-4.7.1 lib/facter/facts/sles/os/distro/release.rb
facter-4.7.0 lib/facter/facts/sles/os/distro/release.rb
facter-4.6.1 lib/facter/facts/sles/os/distro/release.rb
facter-4.6.0 lib/facter/facts/sles/os/distro/release.rb
facter-4.5.2 lib/facter/facts/sles/os/distro/release.rb
facter-4.5.1 lib/facter/facts/sles/os/distro/release.rb
facter-4.5.0 lib/facter/facts/sles/os/distro/release.rb
facter-4.4.3 lib/facter/facts/sles/os/distro/release.rb
facter-4.4.2 lib/facter/facts/sles/os/distro/release.rb
facter-4.4.1 lib/facter/facts/sles/os/distro/release.rb
facter-4.4.0 lib/facter/facts/sles/os/distro/release.rb
facter-4.3.1 lib/facter/facts/sles/os/distro/release.rb
facter-4.3.0 lib/facter/facts/sles/os/distro/release.rb
facter-4.2.14 lib/facter/facts/sles/os/distro/release.rb
facter-4.2.13 lib/facter/facts/sles/os/distro/release.rb
facter-4.2.12 lib/facter/facts/sles/os/distro/release.rb
facter-4.2.11 lib/facter/facts/sles/os/distro/release.rb