Sha256: ce266f40b3a65a54ac777e2d3e2cb8062bb1d64ad4be0ac55a0e8e01bea36770

Contents?: true

Size: 1.99 KB

Versions: 36

Compression:

Stored size: 1.99 KB

Contents

= HighLine

by James Edward Gray II

{<img src="https://travis-ci.org/JEG2/highline.svg" alt="Build Status" />}[https://travis-ci.org/JEG2/highline]
{<img src="https://img.shields.io/gem/v/highline.svg?style=flat" />}[http://rubygems.org/gems/highline]

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

Start hacking in your code with HighLine with:

  require 'highline/import'

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

== Requirements

HighLine from version >= 1.7.0 requires ruby >= 1.9.3

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

Version data entries

36 entries across 36 versions & 5 rubygems

Version Path
brakeman-4.5.0 bundle/ruby/2.5.0/gems/highline-1.7.10/README.rdoc
brakeman-4.4.0 bundle/ruby/2.5.0/gems/highline-1.7.10/README.rdoc
brakeman-4.3.1 bundle/ruby/2.5.0/gems/highline-1.7.10/README.rdoc
brakeman-4.3.0 bundle/ruby/2.5.0/gems/highline-1.7.10/README.rdoc
brakeman-4.2.1 bundle/ruby/2.5.0/gems/highline-1.7.10/README.rdoc
brakeman-4.2.0 bundle/ruby/2.3.0/gems/highline-1.7.10/README.rdoc
brakeman-4.1.1 bundle/ruby/2.3.0/gems/highline-1.7.10/README.rdoc
brakeman-4.1.0 bundle/ruby/2.3.0/gems/highline-1.7.10/README.rdoc
highline-1.7.10 README.rdoc
brakeman-4.0.1 bundle/ruby/2.3.0/gems/highline-1.7.8/README.rdoc
brakeman-4.0.1.pre1 bundle/ruby/2.3.0/gems/highline-1.7.8/README.rdoc
brakeman-4.0.0 bundle/ruby/2.3.0/gems/highline-1.7.8/README.rdoc
brakeman-3.7.2 bundle/ruby/2.3.0/gems/highline-1.7.8/README.rdoc
brakeman-3.7.1 bundle/ruby/2.3.0/gems/highline-1.7.8/README.rdoc
brakeman-3.7.0 bundle/ruby/2.3.0/gems/highline-1.7.8/README.rdoc
brakeman-3.6.2 bundle/ruby/2.3.0/gems/highline-1.7.8/README.rdoc
brakeman-3.6.1 bundle/ruby/2.3.0/gems/highline-1.7.8/README.rdoc
brakeman-3.6.0 bundle/ruby/2.3.0/gems/highline-1.7.8/README.rdoc
brakeman-3.5.0 bundle/ruby/2.3.0/gems/highline-1.7.8/README.rdoc
brakeman-3.4.1 bundle/ruby/2.3.0/gems/highline-1.7.8/README.rdoc