41 lines
1.1 KiB
Ruby
41 lines
1.1 KiB
Ruby
module VagrantPlugins
|
|
module GuestDarwin
|
|
module Cap
|
|
class DarwinVersion
|
|
|
|
VERSION_REGEX = /\d+.\d+.?\d*/.freeze
|
|
|
|
# Get the darwin version
|
|
#
|
|
# @param [Machine]
|
|
# @return [String] version of drawin
|
|
def self.darwin_version(machine)
|
|
output = ""
|
|
machine.communicate.sudo("sysctl kern.osrelease") do |_, data|
|
|
output = data
|
|
end
|
|
output.scan(VERSION_REGEX).first
|
|
end
|
|
|
|
# Get the darwin major version
|
|
#
|
|
# @param [Machine]
|
|
# @return [int] major version of drawin (nil if version is not detected)
|
|
def self.darwin_major_version(machine)
|
|
output = ""
|
|
machine.communicate.sudo("sysctl kern.osrelease") do |_, data|
|
|
output = data
|
|
end
|
|
version_string = output.scan(VERSION_REGEX).first
|
|
if version_string
|
|
major_version = version_string.split(".").first.to_i
|
|
else
|
|
major_version = nil
|
|
end
|
|
major_version
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|