Class: PEBuild::Cap::Facts::SUSE

Inherits:
POSIX
  • Object
show all
Defined in:
lib/pe_build/cap/facts/suse.rb

Overview

Facts implementation for SUSE guests

Since:

  • 0.13.0

Instance Attribute Summary

Attributes inherited from Base

#machine

Instance Method Summary collapse

Methods inherited from POSIX

#architecture

Methods inherited from Base

#architecture, #basic_facts, #initialize, #load_facts, pebuild_facts, #puppet_path

Constructor Details

This class inherits a constructor from PEBuild::Cap::Facts::Base

Instance Method Details

#os_infoHash

Returns info about the OS type

Returns family as SUSE and name as SLES.

Returns:

  • (Hash)

    A hash containing the family of the operating system and, optionally, the name.

See Also:

Since:

  • 0.13.0



13
14
15
16
17
18
# File 'lib/pe_build/cap/facts/suse.rb', line 13

def os_info
  {
    'name'   => 'SLES',
    'family' => 'SUSE'
  }
end

#release_infoHash

Returns info about the OS version

Reads /etc/SuSE-release and generates a full version along with major and minor components.

Returns:

  • (Hash)

    A hash containing the full version strying of the operating system and, optionally, the minor and major release versions.

See Also:

Since:

  • 0.13.0



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/pe_build/cap/facts/suse.rb', line 26

def release_info
  release_file = sudo('cat /etc/SuSE-release')[:stdout]
  major = release_file.match(/VERSION\s*=\s*(\d+)/)[1]
  minor = release_file.match(/PATCHLEVEL\s*=\s*(\d+)/)[1]

  {
    'major' => major,
    'minor' => minor,
    'full'  => [major, minor].join('.')
  }
end