Module: Bixby::Script::Distro

Included in:
Bixby::ScriptUtil
Defined in:
lib/bixby-client/script/distro.rb

Instance Method Summary collapse

Instance Method Details

#amazon_linux?Boolean Also known as: amazon?, amazonlinux?

Returns:

  • (Boolean)


39
40
41
# File 'lib/bixby-client/script/distro.rb', line 39

def amazon_linux?
  etc_issue =~ /^Amazon Linux/
end

#amazon_linux_versionObject



45
46
47
48
49
# File 'lib/bixby-client/script/distro.rb', line 45

def amazon_linux_version
  # e.g., Amazon Linux AMI 2013.09
  etc_issue =~ /^Amazon Linux AMI (\d+\.\d+)/
  SemVer.parse($1)
end

#centos?Boolean Also known as: cent?

Returns:

  • (Boolean)


27
28
29
# File 'lib/bixby-client/script/distro.rb', line 27

def centos?
  etc_issue =~ /CentOS/
end

#centos_versionObject



32
33
34
35
36
37
# File 'lib/bixby-client/script/distro.rb', line 32

def centos_version
  # e.g., CentOS release 5.10
  etc_issue =~ /CentOS release (\d+\.\d+)/
  ver = $1
  SemVer.parse("v#{ver}.0")
end

#etc_issueObject



6
7
8
9
10
11
12
13
# File 'lib/bixby-client/script/distro.rb', line 6

def etc_issue
  return @_etc_issue if @_etc_issue
  @_etc_issue = if linux? then
    File.read("/etc/issue").strip
  else
    nil
  end
end

#ubuntu?Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/bixby-client/script/distro.rb', line 15

def ubuntu?
  etc_issue =~ /Ubuntu/
end

#ubuntu_versionObject



19
20
21
22
23
24
25
# File 'lib/bixby-client/script/distro.rb', line 19

def ubuntu_version
  # e.g., Ubuntu 13.04
  etc_issue =~ /Ubuntu (\d+\.\d+(\.\d+)?)/
  ver = $1
  ver = "#{ver}.0" if ver.split(/\./).size == 2
  SemVer.parse("v#{ver}")
end