Detecting Operating Systems in Ruby [duplicate]
You can use the os
gem:
gem install os
And then
require 'os'OS.linux? #=> true or falseOS.windows? #=> true or falseOS.java? #=> true or falseOS.bsd? #=> true or falseOS.mac? #=> true or false# and so on.
Here is the best one I have seen recently. It is from selenium. The reason I think it is the best is it uses rbconfig host_os field which has the advantage of working on MRI and JRuby. RUBY_PLATFORM will say 'java' on JRuby regardless of host os it is running on. You will need to mildly tweak this method:
require 'rbconfig' def os @os ||= ( host_os = RbConfig::CONFIG['host_os'] case host_os when /mswin|msys|mingw|cygwin|bccwin|wince|emc/ :windows when /darwin|mac os/ :macosx when /linux/ :linux when /solaris|bsd/ :unix else raise Error::WebDriverError, "unknown os: #{host_os.inspect}" end ) end
You can use
puts RUBY_PLATFORM
irb(main):001:0> RUBY_PLATFORM=> "i686-linux"
But @Pete is right.