Menu-driven Console Application in Ruby

Hello
I’m trying to create a console application with ruby on Windows. I wish
to have it menu driven, so each screen the user sees is essentially a
menu, where the user can enter a number (representing their menu
choice), such as:


Welcome to my application!

Menu

  1. Perform some action
  2. View option list
  3. Exit application

Enter selection> _

Really I’m looking for skeleton or sample code for a console
application. A few google searches did return skeleton code for a
command-line and console applications, but everything I found was more
geared towards command line applications (that is, skeleton code for
parsing out parameters, proper help syntax, etc), and not creating a
menu-driven environment.

I already have the program basically written out and working, but it’s
very hacky with many if-else and when-case checks, so I’m hoping that it
could be structured and written out in a cleaner fashion–just not quite
sure where to start, and I’m out of ideas on what other ways (or other
libraries) are viable options for me. The menus of this application wil
be multiple levels deep, so that needs to be kept in mind as well.

Any ideas on where to start? I’m willing to start the application from
scratch if the end result is cleaner, more standard code.

On Mon, Feb 22, 2010 at 3:38 PM, Joe M.
[email protected]wrote:

Hello
I’m trying to create a console application with ruby on Windows. I wish
to have it menu driven, so each screen the user sees is essentially a
menu, where the user can enter a number (representing their menu
choice), such as:

You should look at the ncurses gem/project.
http://rbcurse.rubyforge.org/

http://rbcurse.rubyforge.org/You will probably need to do a bit of
googling for tutorials and such

On Feb 22, 10:38 am, Joe M. [email protected] wrote:

  1. Perform some action
    parsing out parameters, proper help syntax, etc), and not creating a
    scratch if the end result is cleaner, more standard code.
    Highline, http://highline.rubyforge.org/, has a pretty good menu
    widget: http://highline.rubyforge.org/doc/classes/HighLine/Menu.html
    Hirb , GitHub - cldwalker/hirb: A mini view framework for console/irb that's easy to use, even while under its influence. Console goodies include a no-wrap table, auto-pager, tree and menu., also has a decent one:
    Tagaholic - Two Dimensional Console Menus with Hirb

Neither one of these requires using curses which may be a good thing
being in windows.
I don’t think either one of these supports multiple levels.

Also take a look at:

Xiki - GitHub - trogdoro/xiki: A shell console with GUI features
TTY - http://peter-murach.github.io/tty/

TTY seems like it might satisfy your requirements (menus on the
console).