Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

All your system-independent infoz in one handy (Ruby) class

README.rdoc

SysInfo - v0.6

All your system-independent infoz in one handy class.

SysInfo does a takes a very quick glance at the system it's running on and exposes the results as YAML, JSON, CSV, or TSV. It also determines a platform identifier for the system that takes the form: VM-OS-IMPLEMENTATION-ARCHITECTURE.

Platform Identifier Examples

ruby-unix-osx-i386
ruby-unix-osx-powerpc
ruby-unix-linux-x86_64
java-win32-windows-i386
java-win32-mingw-i386

For the complete list of operating systems, implementations and architectures that SysInfo is aware of, see:

  • $ sysinfo os

  • $ sysinfo impl

  • $ sysinfo arch

Usage – Library

sysinfo = SysInfo.new
p sysinfo.vm                    # => ruby
p sysinfo.os                    # => unix
p sysinfo.impl                  # => osx
p sysinfo.arch                  # => i386
p sysinfo.platform              # => ruby-unix
p sysinfo.to_s                  # => ruby-unix-osx-i386

p sysinfo.user                  # => delano
p sysinfo.home                  # => /Users/delano
p sysinfo.uptime                # => 290.429              (hours)
p sysinfo.shell                 # => /bin/bash
p sysinfo.paths                 # => [/sbin, /bin, /usr/bin, ...]

p sysinfo.hostname              # => walter
p sysinfo.ipaddress_internal    # => 10.0.1.2
p sysinfo.uptime                # => 290.573655656974
p sysinfo.ruby                  # => [1,9,1]

Usage – Executable

$ sysinfo 
ruby-unix-osx-i386

$ /usr/jruby/bin/sysinfo
java-unix-osx-x86_64

$ sysinfo -f yaml
:vm: :ruby
:os: :unix
:impl: :osx
...
:shell: :"/bin/bash"
:user: delano

$ sysinfo -f json
{"vm":"ruby","os":"unix","impl":"osx", ..., "shell":"\/bin\/bash","user":"delano"}

$ sysinfo -f csv
ruby,unix,osx, ... /bin/bash,delano

Installation

Via Rubygems, one of:

$ sudo gem install sysinfo
$ sudo gem install delano-sysinfo --source http://gems.github.com/

or via download:

Prerequisites

  • Ruby 1.8, Ruby 1.9, or JRuby 1.2

  • Storable

Credits

  • Delano Mandelbaum (delano@solutious.com)

  • Portions of this code were originally from Amazon's EC2 AMI tools, specifically lib/platform.rb.

License

See: LICENSE.txt

Something went wrong with that request. Please try again.