# Console Hash Array

Console print progress bar for hash arrays.


Example

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        ..............................



Table of Contents

  1. Quickstart
  2. Parameters
  3. Options
  4. Contributing
  5. Limitations
  6. License
  7. Code of Conduct
  8. Support my Work



Quickstart

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



Setup

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:



Methods

.example()

require 'console_hash_array'

groups = ConsoleHashArray.example()

Return
Hash

.console()

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)


Options | 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 |



Contributing

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.


Limitations

  • Build for development usage
  • No input validation

License

The gem is available as open source under the terms of the MIT License.


Code of Conduct

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.


Support my Work

Donate by https://www.paypal.com