piotrmurach/tty-platform

View on GitHub
README.md

Summary

Maintainability
Test Coverage
<div align="center">
  <a href="https://ttytoolkit.org"><img width="130" src="https://github.com/piotrmurach/tty/raw/master/images/tty.png" alt="TTY Toolkit logo" /></a>
</div>

# TTY::Platform [![Gitter](https://badges.gitter.im/Join%20Chat.svg)][gitter]

[![Gem Version](https://badge.fury.io/rb/tty-platform.svg)][gem]
[![Actions CI](https://github.com/piotrmurach/tty-platform/workflows/CI/badge.svg?branch=master)][gh_actions_ci]
[![Build status](https://ci.appveyor.com/api/projects/status/f0oeux03trg78uui?svg=true)][appveyor]
[![Code Climate](https://codeclimate.com/github/piotrmurach/tty-platform/badges/gpa.svg)][codeclimate]
[![Coverage Status](https://coveralls.io/repos/github/piotrmurach/tty-platform/badge.svg)][coverage]
[![Inline docs](https://inch-ci.org/github/piotrmurach/tty-platform.svg?branch=master)][inchpages]

[gitter]: https://gitter.im/piotrmurach/tty
[gem]: https://badge.fury.io/rb/tty-platform
[gh_actions_ci]: https://github.com/piotrmurach/tty-platform/actions?query=workflow%3ACI
[appveyor]: https://ci.appveyor.com/project/piotrmurach/tty-platform
[codeclimate]: https://codeclimate.com/github/piotrmurach/tty-platform
[coverage]: https://coveralls.io/github/piotrmurach/tty-platform
[inchpages]: https://inch-ci.org/github/piotrmurach/tty-platform

> Terminal platform query methods for detecting different operating systems and their properties.

**TTY::Platform** provides independent operating system detection component for [TTY](https://github.com/piotrmurach/tty) toolkit.

## Installation

Add this line to your application's Gemfile:

```ruby
gem 'tty-platform'
```

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install tty-platform

## 1. Usage

With **TTY::Platform** you can find out the properties of your operating system by creating an instance:

```ruby
platform = TTY::Platform.new
```

To query for processor name use `cpu` method:

```ruby
platform.cpu     # => 'x86_64'
```

A `nil` is returned if the value cannot be determined.

To get the system/OS name use `os` method:

```ruby
platform.os      # => 'darwin'
```

A `nil` is returned if the value cannot be determined.

To get system's release version use `version` method:

```ruby
platform.version # => '10.6.1'
```

A `nil` is returned. Note that many platforms do not provide this information.

In addition, you can use more generic methods to check the type of operating system out of `windows`, `linux`, `mac` and `unix`:

```ruby
platform.windows?  # => false
platform.unix?     # => true
platform.linux?    # => false
platform.mac?      # => true
```

## Contributing

1. Fork it ( https://github.com/piotrmurach/tty-platform/fork )
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request

## Copyright

Copyright (c) 2015 Piotr Murach. See LICENSE for further details.