README.md

Summary

Maintainability
Test Coverage
# Awt

[![Gem Version](https://badge.fury.io/rb/awt.png)](http://badge.fury.io/rb/awt)
[![Build Status](https://travis-ci.org/i2bskn/awt.png)](https://travis-ci.org/i2bskn/awt)
[![Coverage Status](https://coveralls.io/repos/i2bskn/awt/badge.png)](https://coveralls.io/r/i2bskn/awt)
[![Code Climate](https://codeclimate.com/github/i2bskn/awt.png)](https://codeclimate.com/github/i2bskn/awt)

Awt is cli tool for system administration.

## Requirements

* Ruby 2.0.0

## Installation

Add this line to your application's Gemfile:

    gem 'awt'

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install awt

## Usage

Awt to run looking Awtfile from a task that is specified in the argument.

#### Awtfile

Awtfile be placed in the home directory or the current directory tree.  
It can be specified on the command line if you want to place other location.

`server` can also be specified on the command line argument.  
`server` required if you do not specify on the command line argument.

The following example of Awtfile.

```ruby
server "hostname", user: "awt", port: 22, key: "/path/to/id_rsa"

task :task_name do
  run "do something"
  put "/path/to/local/file", "/path/to/remote/file"
  get "/path/to/remote/file", "/path/to/local/file"
end
```

`run` is returns a result object.  
Result object with a exit-status, etc.

```ruby
if run("cat /etc/centos-release").status == 0
  puts "Hello CentOS"
end

if run("uname -a").data.chomp == "Linux"
  puts "Hello Linux"
end
```

Using the `with_env` method if you want to use the environment variable.  
Key is applied upcase it is converted to String.

```ruby
with_env key: "value" do
  run "echo $KEY"
end
```

#### Execute

Awt task executable as follows:

```
$ bundle exec awt task_name
```

Options that can be specified:

* `-H host1,host2` => Required if you do not specify on the command line argument.
* `-u user` => Specify user name. Default is current user name.
* `-p port` => Specify port number. Default is 22.
* `-i identity_file` => Specify identity file. Default is `~/.ssh/id_rsa`.
* `-f file` => `/path/to/Autfile`.

## Contributing

1. Fork it
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 new Pull Request