Class: Ruby::Nginx::System::OS

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/ruby/nginx/system/os.rb

Instance Method Summary collapse

Constructor Details

#initializeOS

Returns a new instance of OS.



12
13
14
# File 'lib/ruby/nginx/system/os.rb', line 12

def initialize
  @semaphore = Mutex.new
end

Instance Method Details

#darwin?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/ruby/nginx/system/os.rb', line 16

def darwin?
  RbConfig::CONFIG["host_os"] =~ /darwin/
end

#package_managerObject

Raises:



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/ruby/nginx/system/os.rb', line 20

def package_manager
  @package_manager ||=
    if darwin?
      :brew if package_with?("brew")
    elsif package_with?("apt-get")
      :apt_get
    elsif package_with?("pacman")
      :pacman
    elsif package_with?("yum")
      :yum
    elsif package_with?("zypper")
      :zypper
    end

  return @package_manager if @package_manager
  raise Ruby::Nginx::Error, "Could not determine package manager"
end