Console print progress bar for hash arrays.
Default output without options
require 'console_hash_array'
groups = ConsoleHashArray.example()
groups.keys.each.with_index do | key, rindex |
ConsoleHashArray.console( groups, rindex, nil, key, :left )
groups[ key ].each.with_index do | item, cindex |
ConsoleHashArray.console( groups, rindex, cindex, key, :right )
end
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 ..............................
Custom output with options
require 'console_hash_array'
groups = ConsoleHashArray.example()
options = {
right__boxes_total: 10,
style__spaces: '.',
style__steps: '#',
print__left: "{{rindex}}.{{key}}{{left__spaces}}.."
}
groups.keys.each.with_index do | key, rindex |
ConsoleHashArray.console( groups, rindex, nil, key, :left )
groups[ key ].each.with_index do | item, cindex |
ConsoleHashArray.console( groups, rindex, cindex, key, :right, options )
end
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 #####
- Examples
- Quickstart
- Setup
- Methods
- Options
- Contributing
- Limitations
- License
- Code of Conduct
- Support my Work
require 'console_hash_array'
groups = ConsoleHashArray.example()
groups.keys.each.with_index do | key, rindex |
ConsoleHashArray.console( groups, rindex, nil, key, :left )
groups[ key ].each.with_index do | item, cindex |
ConsoleHashArray.console( groups, rindex, cindex, key, :right )
end
end
Add this line to your application's Gemfile:
gem console_hash_array
And then execute:
bundle install console_hash_array
Or install it yourself as:
gem install console_hash_array
On Rubygems:
require 'console_hash_array'
groups = ConsoleHashArray.example()
Return
Hash
require 'console_hash_array'
ConsoleHashArray.console( groups, rindex, cindex, key, :left )
Input
Type | Required | Description | |
---|---|---|---|
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.
- Build for development usage
- No input validation
The gem is available as open source under the terms of the MIT License.
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.
Please ⭐️ star this Project, every ⭐️ star makes us very happy!