Files | Admin

Notes:

Release Name: highline-1.0.2

Notes:



Changes: = Change Log Below is a complete listing of changes for each revision of HighLine. == 1.0.2 * Removed old and broken help tests. * Fixed test case typo found by David A. Black. * Added ERb escapes processing to lists, for coloring list items. Color escapes Do nod add to list element size. * HighLine now throws EOFError when input is exhausted. == 1.0.1 * Minor bug fix: Moved help initialization to before response building, so help would show up in the default responses. == 1.0.0 * Fixed documentation typo pointed out by Gavin Kistner. * Added <tt>gather = ...</tt> option to question for fetching entire Arrays or Hashes filled with answers. You can set +gather+ to a count of answers to collect, a String or Regexp matching the end of input, or a Hash where each key can be used in a new question. * Added File support to HighLine.ask(). You can specify a _directory_ and a _glob_ pattern that combine into a list of file choices the user can select from. You can choose to receive the user's answer as an open filehandle or as a Pathname object. * Added Readline support for history and editing. * Added tab completion for menu and file selection selection (requires Readline). * Added an optional character limit for input. * Added a complete help system to HighLine's shell menu creation tools. == 0.6.1 * Removed termios dependancy in gem, to fix Windows' install. == 0.6.0 * Implemented HighLine.choose() for menu handling. * Provided shortcut <tt>choose(item1, item2, ...)</tt> for simple menus. * Allowed Ruby code to be attached to each menu item, to create a complete menu solution. * Provided for total customization of the menu layout. * Allowed for menu selection by index, name or both. * Added a _shell_ mode to allow menu selection with additional details following the name. * Added a list() utility method that can be invoked just like color(). It can layout Arrays for you in any output in the modes <tt>:columns_across</tt>, <tt>:columns_down</tt>, <tt>:inline</tt> and <tt>:rows</tt> * Added support for <tt>echo = "*"</tt> style settings. User code can now choose the echo character this way. * Modified HighLine to user the "termios" library for character input, if available. Will return to old behavior (using "stty"), if "termios" cannot be loaded. * Improved "stty" state restoring code. * Fixed "stty" code to handle interrupt signals. * Improved the default auto-complete error message and exposed this message through the +responses+ interface as <tt>:no_completion</tt>. == 0.5.0 * Implemented <tt>echo = false</tt> for HighLine::Question objects, primarily to make fetching passwords trivial. * Fixed an auto-complete bug that could cause a crash when the user gave an answer that didn't complete to any valid choice. * Implemented +case+ for HighLine::Question objects to provide character case conversions on given answers. Can be set to <tt>:up</tt>, <tt>:down</tt>, or <tt>:capitalize</tt>. * Exposed <tt>@answer</tt> to the response system, to allow response that are aware of incorrect input. * Implemented +confirm+ for HighLine::Question objects to allow for verification for sensitive user choices. If set to +true+, user will have to answer an "Are you sure? " question. Can also be set to the question to confirm with the user. == 0.4.0 * Added <tt>@wrap_at</tt> and <tt>@page_at</tt> settings and accessors to HighLine, to control text flow. * Implemented line wrapping with adjustable limit. * Implemented paged printing with adjustable limit. == 0.3.0 * Added support for installing with setup.rb. * All output is now treated as an ERb sequence, allowing Ruby code to be embedded in output strings. * Added support for ANSI color sequences in say(). (And everything else by extension.) * Added whitespace handling for answers. Can be set to <tt>:strip</tt>, <tt>:chomp</tt>, <tt>:collapse</tt>, <tt>:strip_and_collapse</tt>, <tt>:chomp_and_collapse</tt>, <tt>:remove</tt>, or <tt>:none</tt>. * Exposed question details to ERb completion through @question, to allow for intelligent responses. * Simplified HighLine internals using @question. * Added support for fetching single character input either with getc() or HighLine's own cross-platform terminal input routine. * Improved type conversion to handle user defined classes. == 0.2.0 * Added Unit Tests to cover an already fixed output bug in the future. * Added Rakefile and setup test action (default). * Renamed HighLine::Answer to HighLine::Question to better illustrate its role. * Renamed fetch_line() to get_response() to better define its goal. * Simplified explain_error in terms of the Question object. * Renamed accept?() to in_range?() to better define purpose. * Reworked valid?() into valid_answer?() to better fit Question object. * Reworked <tt>@member</tt> into <tt>@in</tt>, to make it easier to remember and switched implementation to include?(). * Added range checks for @above and @below. * Fixed the bug causing ask() to swallow NoMethodErrors. * Rolled ask_on_error() into responses. * Redirected imports to Kernel from Object. * Added support for <tt>validate = lambda { ... }</tt>. * Added default answer support. * Fixed bug that caused ask() to die with an empty question. * Added complete documentation. * Improve the implemetation of agree() to be the intended "yes" or "no" only question. * Added Rake tasks for documentation and packaging. * Moved project to RubyForge. == 0.1.0 * Initial release as the solution to {Ruby Quiz #29}[http://www.rubyquiz.com/quiz29.html].