Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

system

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

system

  • 0.1.3
  • Rubygems
  • Socket score

Version published
Maintainers
2
Created
Source

System

System is a pure ruby interface to gather current systems information.

About

System is a cross-platform and cross-implementation interface to gather system information from the current host.

System offers a simple to use interface to gather an array of information including; OS, CPU, Filesystem, etc.

Install

Bundler: gem 'system'

RubyGems: gem install system

Usage

require 'system'

System::Ruby.java?  # => Are we running on java?
System::Ruby.jruby? # => Are we running on jruby?
System::OS.name     # => Current OS name as a Symbol i.e. :windows, :linux, :osx, :bsd, :darwin, :solaris
System::CPU.count   # => Current number of CPUs, including individual cores

TODO

List

  • Separate OS and Implementation specific logic into loadable mixins

    i.e. require 'system/cpu' would require 'system/cpu/java' if running JRuby.

  • SPECS! Decide how to stub out system calls and replace with fixtures.

System::CPU

System::CPU[0].id                # => The first CPU's physical ID as an integer
System::CPU[0].vendor            # => The first CPU's vendor as a String
System::CPU[0].family            # => The first CPU's family as an Integer
System::CPU[0].model             # => The first CPU's model as an Integer
System::CPU[0].name              # => The first CPU's model as a String
System::CPU[0].speed             # => The first CPU's speed in MHz as a Float
System::CPU[0].cache             # => The first CPU's cache size in KB as an Integer
System::CPU[0].multi_core?       # => Does the first CPU contain multiple cores?

System::CPU::Core

System::CPU[0].cores[0]          # => The first CPU's first core as a System::CPU::Core
System::CPU[0].cores[0].id       # => The ID of the first CPU's first core as an Integer
System::CPU[0].cores[0].flags    # => An Array containing the Core's flags as Symbols
System::CPU[0].cores[0].siblings # => An Array containing the other Cores in the CPU
System::CPU[0].cores[0].siblings # => An Array containing the other Cores in the CPU
Build Status

Build Status

Contributing

  • Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
  • Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
  • Fork the project
  • Start or switch to a testing/unstable/feature/bugfix branch
  • Commit and push until you are happy with your contribution
  • Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
  • Please try not to mess with the Rakefile, VERSION or gemspec.

Copyright © 2009-2012 Roja Buck and Ryan Scott Lewis.

The MIT License (MIT) - See LICENSE for further details.

FAQs

Package last updated on 20 Nov 2012

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc