class UsefulUtilities::RedhatRelease

Redhat releases utilities

Constants

DEFAULT_VERSION_ARR
LEGACY_DISTRO_TEMPLATE
VERSION_REGEXP
VERSION_SEPARATOR
VERSION_SEPARATOR_REGEXP

Attributes

release_string[R]

Public Class Methods

legacy_distro(ver) click to toggle source
# File lib/useful_utilities/redhat_release.rb, line 33
def self.legacy_distro(ver)
  LEGACY_DISTRO_TEMPLATE % { major_version: ver }
end
major_version(*args) click to toggle source
# File lib/useful_utilities/redhat_release.rb, line 29
def self.major_version(*args)
  new(*args).major_version
end
new(release_string) click to toggle source
# File lib/useful_utilities/redhat_release.rb, line 25
def initialize(release_string)
  @release_string = release_string.to_s
end

Public Instance Methods

major_version() click to toggle source
# File lib/useful_utilities/redhat_release.rb, line 37
def major_version
  version_arr[0]
end
minor_version() click to toggle source
# File lib/useful_utilities/redhat_release.rb, line 41
def minor_version
  version_arr[1]
end
monthstamp() click to toggle source
# File lib/useful_utilities/redhat_release.rb, line 45
def monthstamp
  version_arr[2]
end
version_string() click to toggle source
# File lib/useful_utilities/redhat_release.rb, line 49
def version_string
  version_arr.join(VERSION_SEPARATOR)
end

Private Instance Methods

match_version_arr() click to toggle source
# File lib/useful_utilities/redhat_release.rb, line 59
def match_version_arr
  @match_version_arr ||= [
    version_match[:major_version],
    version_match[:minor_version],
    version_match[:monthstamp]
  ].compact.map(&:to_i)
end
version_arr() click to toggle source
# File lib/useful_utilities/redhat_release.rb, line 55
def version_arr
  @version_arr ||= version_match.present? ? match_version_arr : DEFAULT_VERSION_ARR
end
version_match() click to toggle source
# File lib/useful_utilities/redhat_release.rb, line 67
def version_match
  return @version_match if defined?(@version_match)

  @version_match = VERSION_REGEXP.match(release_string)
end