Module: Castle::System

Defined in:
lib/castle/system.rb

Overview

Get information regarding system

Class Method Summary collapse

Class Method Details

.platformObject

Returns current system platform

Examples:

Castle::System.platform #=> ‘x86_64-pc-linux-gnu’




20
21
22
23
24
25
26
27
# File 'lib/castle/system.rb', line 20

def platform
  begin
    require 'rbconfig'
    RbConfig::CONFIG['host'] || RUBY_PLATFORM
  rescue LoadError
    RUBY_PLATFORM
  end.downcase
end

.ruby_versionObject

Returns ruby version

Examples:

Castle::System.ruby_version #=> ‘2.4.1-p111 (2017-03-22)’




31
32
33
# File 'lib/castle/system.rb', line 31

def ruby_version
  "#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL} (#{RUBY_RELEASE_DATE})"
end

.unameObject

Returns hardware name, nodename, operating system release,

name and version

Examples:

Castle::System.uname #=>

Linux server 3.18.44-vs2.3.7.5-beng #1 SMP
Thu Oct 27 14:11:29 BST 2016 x86_64 GNU/Linux


12
13
14
15
16
# File 'lib/castle/system.rb', line 12

def uname
  `uname -a 2>/dev/null`.strip if platform =~ /linux|darwin/i
rescue Errno::ENOMEM # couldn't create subprocess
  'uname lookup failed'
end