Class: Facts::Sles::Os::Distro::Release

Inherits:
Object
  • Object
show all
Defined in:
lib/facter/facts/sles/os/distro/release.rb

Constant Summary collapse

FACT_NAME =
'os.distro.release'
ALIASES =
%w[lsbdistrelease lsbmajdistrelease lsbminordistrelease].freeze

Instance Method Summary collapse

Instance Method Details

#build_fact_list(version) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/facter/facts/sles/os/distro/release.rb', line 21

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

#call_the_resolverObject



11
12
13
14
15
16
17
18
19
# File 'lib/facter/facts/sles/os/distro/release.rb', line 11

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