terminal_table
A library that helps you create and print tables on your terminal!
Installation
-
Add the dependency to your
shard.yml:dependencies: terminal_table: github: kouroshalinaghi/terminal_table -
Run
shards install
Usage
- You need an Array of Array of Int32 Or String (
Array(Array(Int32 | String))) as rows. - Create an instance of
TerminalTable::Tablewith callingTerminalTable::Table.new(). Here are the supported arguments:
| Key | Type | Default Value | Required? |
| --- | ---- | ------------- | --------- |
| rows | Array(Array(Int32 \| String)) | _ | Yes |
| enable_separator | Bool | true | No |
| header | Array(String) | [] of String | No |
| corner_char | String | "+" | No |
| row_char | String | "-" | No |
| col_char | String | "\|" | No |
Example:
h = ["Name", "Age"]
r = [
["Kourosh", 17],
["Dan", 32]
]
table = TerminalTable::Table.new(rows: r, header: h)
- Print the table with the
TerminalTable::Table#to_smethod! (returns aString)
puts table.to_s
Example:
+---------+-----+
| Name | Age |
+---------+-----+
| Kourosh | 17 |
+---------+-----+
| Dan | 32 |
+---------+-----+
Important: Do not use p() method instead of puts()! it will consider "\n" as a normal string.
Contributing
- Fork it (https://github.com/kouroshalinaghi/terminal_table/fork)
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request
Contributors
- KouroshAlinaghi - creator and maintainer