Detecting Operating Systems in Ruby [duplicate] Detecting Operating Systems in Ruby [duplicate] ruby ruby

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.

See: https://github.com/rdp/os


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.