public
Description: Git/Subversion browser and changeset viewer
Homepage: http://warehouseapp.com
Clone URL: git://github.com/entp/warehouse.git
entp (author)
Tue Oct 21 18:55:58 -0700 2008
commit  548ee7c8df4c144fbaa116f7c92bef7d281927f7
tree    754fdd728bbcc16660930e42481beadc62ec0cbc
parent  4eea91b8722b54be33555f6fec525c8de61a21f1
warehouse / vendor / highline-1.2.9
name age message
..
file CHANGELOG Loading commit data...
file INSTALL
file LICENSE
file README
file Rakefile
file TODO
directory examples/
directory lib/
file setup.rb
directory test/
vendor/highline-1.2.9/README
= Read Me

by James Edward Gray II

== Description

Welcome to HighLine.

HighLine was designed to ease the tedious tasks of doing console input and
output with low-level methods like gets() and puts().  HighLine provides a
robust system for requesting data from a user, without needing to code all the
error checking and validation rules and without needing to convert the typed
Strings into what your program really needs.  Just tell HighLine what you're
after, and let it do all the work.

== Documentation

See HighLine and HighLine::Question for documentation.

== Examples

Basic usage:

  ask("Company?  ") { |q| q.default = "none" }

Validation:

  ask("Age?  ", Integer) { |q| q.in = 0..105 }
  ask("Name?  (last, first)  ") { |q| q.validate = /\A\w+, ?\w+\Z/ }

Type conversion for answers:

  ask("Birthday?  ", Date)
  ask("Interests?  (comma sep list)  ", lambda { |str| str.split(/,\s*/) })

Reading passwords:

  ask("Enter your password:  ") { |q| q.echo = false }
  ask("Enter your password:  ") { |q| q.echo = "x" }

ERb based output (with HighLine's ANSI color tools):

  say("This should be <%= color('bold', BOLD) %>!")

Menus:

  choose do |menu|
    menu.prompt = "Please choose your favorite programming language?  "
  
    menu.choice(:ruby) { say("Good choice!") }
    menu.choices(:python, :perl) { say("Not from around here, are you?") }
  end
  
For more examples see the examples/ directory of this project.

== Installing

See the INSTALL file for instructions.

== Questions and/or Comments

Feel free to email {James Edward Gray II}[mailto:james@grayproductions.net] or
{Gregory Brown}[mailto:gregory.t.brown@gmail.com] with any questions.