RUBY_PLATFORM gibt z.B. bei der Verwendung von JRuby den Wert „java“ zurück. Das spiegelt nicht das Betriebssystem wieder, sondern die verwendete Engine unter der die Applikation läuft.
Ein Beispiel-Modul um das Betriebssystem herauszufinden wäre:
[ruby]
module Betriebssystem
def macintosh?
RUBY_PLATFORM.downcase.include?("darwin")
end
def windows?
RUBY_PLATFORM.downcase.include?("mswin")
end
def linux?
RUBY_PLATFORM.downcase.include?("linux")
end
end
[/ruby]
Um einen verlässlichen Wert zu bekommen, sollte man das Gem „sys-uname“ verwenden. Damit bekommt neben dem Betriebssystem auch viele weitere Informationen über die Umgebung heraus.
Installation von sys-uname:
[bash]
gem install sys-uname
[/bash]
Verwendung von sys-uname:
[ruby]
require ’sys/uname‘
include Sys
puts Uname.nodename
puts Uname.version
puts Uname.sysname
puts Uname.machine
puts Uname.release
p Uname.uname
[/ruby]
Auf diese Weise bekommt alle relevanten Daten die man ggf. benötigt.