Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Moving the HighLine source from RubyForge

This branch is 170 commits behind JEG2:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
doc
examples
lib
site
test
.gitignore
AUTHORS
CHANGELOG
COPYING
INSTALL
LICENSE
README.rdoc
Rakefile
TODO
highline.gemspec
setup.rb

README.rdoc

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 or Gregory Brown with any questions.

Something went wrong with that request. Please try again.