Class: LinuxAdmin::Distro

Inherits:
LinuxAdmin show all
Defined in:
lib/linux_admin/distro.rb

Constant Summary

Constants inherited from LinuxAdmin

VERSION

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Common

#cmd, #run, #run!

Constructor Details

#initialize(id) ⇒ Distro

Returns a new instance of Distro.



10
11
12
# File 'lib/linux_admin/distro.rb', line 10

def initialize(id)
  @id = id
end

Instance Attribute Details

#idObject

Returns the value of attribute id.



8
9
10
# File 'lib/linux_admin/distro.rb', line 8

def id
  @id
end

Class Method Details

.localObject



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/linux_admin/distro.rb', line 14

def self.local
  @local ||= begin
    if File.exists?('/etc/issue')
      issue = File.read('/etc/issue')
      if issue.include?('ubuntu')
        return Distros.ubuntu
      elsif ['Fedora', 'red hat', 'Red Hat', 'centos'].any? { |d| issue.include?(d) }
        return Distros.redhat
      end

    elsif File.exists?('/etc/redhat-release') ||
          File.exists?('/etc/fedora-release')
      return Distros.redhat
    end

    Distros.generic
  end
end