lib/ligo.rb in ligo-0.1.1 vs lib/ligo.rb in ligo-0.1.2
- old
+ new
@@ -32,6 +32,27 @@
require 'ligo/logging'
require 'ligo/constants'
require 'ligo/accessory'
require 'ligo/context'
require 'ligo/device'
+
+ # Return the OS identifier
+ # @return [Symbol] one of :windows, :macosx, :linux or :unix.
+ # @raise [StandardError] if the OS is unknown.
+ def self.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 StandardError, "unknown os: #{host_os.inspect}"
+ end
+ )
+ end
end