https://github.com/boltops-tools/cli-format
Format cli output in different ways: tab, table, csv, json, etc
https://github.com/boltops-tools/cli-format
Last synced: 5 months ago
JSON representation
Format cli output in different ways: tab, table, csv, json, etc
- Host: GitHub
- URL: https://github.com/boltops-tools/cli-format
- Owner: boltops-tools
- License: mit
- Created: 2020-01-15T23:30:19.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-04-27T00:27:31.000Z (about 2 years ago)
- Last Synced: 2026-01-13T08:51:13.652Z (5 months ago)
- Language: Ruby
- Size: 29.3 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# cli-format
## Installation
Add this line to your application's Gemfile:
```ruby
gem 'cli-format'
```
And then execute:
$ bundle
## Usage
```ruby
require "cli-format"
options = {header: true, format: "table"}
header = ["Name", "Food", "Color"]
data = [
["Tung", "Apple", "Yellow"],
["Bob", "Pear", "Blue"],
]
presenter = CliFormat::Presenter.new(options)
presenter.header = header
data.each do |row|
presenter.rows << row
end
presenter.show
```
Format table shows:
+------+-------+--------+
| Name | Food | Color |
+------+-------+--------+
| Tung | Apple | Yellow |
| Bob | Pear | Blue |
+------+-------+--------+
Format csv shows:
Name,Food,Color
Tung,Apple,Yellow
Bob,Pear,Blue
Format json shows:
```json
{
"header": [
"Name",
"Food",
"Color"
],
"data": [
[
"Tung",
"Apple",
"Yellow"
],
[
"Bob",
"Pear",
"Blue"
]
]
}
```
## Thor CLI Options
To expose the format in Thor CLI options, you can use `CliFormat.formats`. Example:
```ruby
option :format, desc: "Output formats: #{CliFormat.formats.join(', ')}"
```
## Text
If you would like to grab just the text and not it shown, use the `text` method.
```ruby
presenter.text
```
## Development
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/cli_format.
## License
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).