Helper to print progress bar for hash array with long processes.
```ruby
require 'console_hash_array'
groups = ConsoleHashArray.example()
groups.keys.each.with_index do | key, rindex |
p = ConsoleHashArray.console( nil, groups, rindex, nil, key, :left, {} )
groups[ key ].each.with_index do | item, cindex |
p = ConsoleHashArray.console( p, groups, rindex, cindex, key, :right, {} )
end
puts
end
#=>
[0] Nurwë ..............................
[1] Legolas ..............................
[2] Primrose Boffin ..............................
[3] Aranuir .......
[4] Ruby Gardner ..............................
[5] Harding ..............................
[6] Írimon ..............................
[7] Torhir Ifant ..............................
[8] Anairë ..............................
[9] Golasgil ..............................
[10] Mîm ..............................
[11] Tobold Hornblower ..............
[12] Thrór .....
[13] Gerda Boffin ..............................
```
1. [Quickstart](#quickstart)
2. [Parameters](#parameters)
3. [Options](#options)
4. [Contributing](#contributing)
5. [Limitations](#limitations)
6. [License](#license)
7. [Code of Conduct](#code-of-conduct)
8. [Support my Work](#support-my-work)
```ruby
require 'console_hash_array'
groups = ConsoleHashArray.example()
groups.keys.each.with_index do | key, rindex |
p = ConsoleHashArray.console( nil, groups, rindex, nil, key, :left, {} )
groups[ key ].each.with_index do | item, cindex |
p = ConsoleHashArray.console( p, groups, rindex, cindex, key, :right, {} )
end
puts
end
```
Add this line to your application's Gemfile:
```ruby
gem 'console_hash_array'
```
And then execute:
$ bundle install
Or install it yourself as:
$ gem install test
On Rubygems:
- Gem: https://rubygems.org/gems/console_hash_array
- Profile: https://rubygems.org/profiles/a6b8
### .example()
```ruby
require 'console_hash_array'
groups = ConsoleHashArray.example()
```
**Return**
Hash
### .console()
```ruby
require 'console_hash_array'
p = ConsoleHashArray.console( nil, groups, rindex, cindex, key, :left, {} )
```
**Input**
| | **Type** | **Required** | **Description** |
|------:|:------|:------|:------|
| **p** | ```Hash``` | :left = nil, :right = Yes | Parameters for console |
| **groups** | ```Hash of Arrays``` | Yes | Full Groups Hash |
| **rindex** | ```Int``` | Yes | Set row index for calculation and output options. |
| **cindex** | ```Int``` | :left = nil, :right = Yes | Set column index for calculation and output options. |
| **key** | ```String``` or ```Symbol``` | Yes | Set current key from groups hash. |
| **mode** | ```Symbol``` | Yes | Use ```:left``` for initialization row, ```:right``` will update progres line |
| **options** | ```Hash``` | No | Change default behaviour. See options for more informations. |
**Return**
Hash (p)
| Nr | Name | Key | Default | Type | Description |
| :-- | :-- | :-- | :-- | :-- | :-- |
| 1 | Boxes Total | `:right__boxes_total` | `30`| Int | Set length of progres bar |
| 2 | Spaces | `:style__spaces` | `" "`| String | Set Character of space |
| 3 | Steps | `:style__steps` | `"."`| String | Set Character of steps |
| 4 | Print Left | `:print__left` | `"[{{rindex}}] {{key}} {{left__spaces}} "`| String | Set Structure for `:left` |
Bug reports and pull requests are welcome on GitHub at https://github.com/a6b8/console-hash-array-for-ruby. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/a6b8/console-hash-array-for-ruby/blob/master/CODE_OF_CONDUCT.md).
- Build for development usage
- No input validation
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
Everyone interacting in the console-hash-array-for-ruby project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/a6b8/console-hash-array-for-ruby/blob/master/CODE_OF_CONDUCT.md).
Donate by [https://www.paypal.com](https://www.paypal.com/donate?hosted_button_id=XKYLQ9FBGC4RG)