43 lines
705 B
Ruby
43 lines
705 B
Ruby
require_relative('system/architecture')
|
|
|
|
module System
|
|
|
|
def self.detect_os
|
|
case RUBY_PLATFORM
|
|
when /darwin/
|
|
:macos
|
|
when /linux/
|
|
if File.exist?('/etc/debian_version')
|
|
:debian
|
|
else
|
|
:linux_other
|
|
end
|
|
else
|
|
:unknown
|
|
end
|
|
end
|
|
|
|
OS = detect_os
|
|
|
|
case OS
|
|
|
|
when :macos
|
|
require_relative './system/macos'
|
|
extend MacOSSystem
|
|
when :debian
|
|
require_relative './system/debian'
|
|
extend DebianSystem
|
|
else
|
|
raise "Operating system not supported"
|
|
end
|
|
|
|
ARCH = normalize_architecture_string(arch)
|
|
|
|
def self.os_info
|
|
puts os_name
|
|
end
|
|
|
|
def self.arch_to_symbol(arch)
|
|
normalize_architecture_string(arch)
|
|
end
|
|
end
|