Class: Facts::Photon::Os::Release
- Inherits:
-
Object
- Object
- Facts::Photon::Os::Release
- Defined in:
- lib/facter/facts/photon/os/release.rb
Constant Summary collapse
- FACT_NAME =
'os.release'
- ALIASES =
%w[operatingsystemmajrelease operatingsystemrelease].freeze
Instance Method Summary collapse
Instance Method Details
#call_the_resolver ⇒ Object
10 11 12 13 14 15 16 17 18 |
# File 'lib/facter/facts/photon/os/release.rb', line 10 def call_the_resolver version = from_specific_file || from_os_release return Facter::ResolvedFact.new(FACT_NAME, nil) unless version [Facter::ResolvedFact.new(FACT_NAME, version), Facter::ResolvedFact.new(ALIASES.first, version['major'], :legacy), Facter::ResolvedFact.new(ALIASES.last, version['full'], :legacy)] end |
#from_os_release ⇒ Object
37 38 39 40 41 |
# File 'lib/facter/facts/photon/os/release.rb', line 37 def from_os_release version = Facter::Resolvers::OsRelease.resolve(:version_id) Facter::Util::Facts.release_hash_from_string(version) end |
#from_specific_file ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/facter/facts/photon/os/release.rb', line 20 def from_specific_file version = Facter::Resolvers::SpecificReleaseFile.resolve(:release, { release_file: '/etc/lsb-release', regex: /DISTRIB_RELEASE="(\d+)\.(\d+)/ }) return if version.nil? || version[1].nil? || version[2].nil? major = version[1].to_s minor = version[2].to_s version_data = "#{major}.#{minor}" { 'full' => version_data, 'major' => major, 'minor' => minor } end |