Mothballed
I recommend checking out tty-prompt instead which provides a lot of this functionality!
inquirer.rb
Interactive user prompts on CLI for ruby.
Prompt types
List
idx = Ask.list "Look behind you...", [
"a three-headed monkey!",
"a pink pony",
"Godzilla"
]
# idx is the selected index
Checkbox
Takes optional default
property that define the checked options
idx = Ask.checkbox "Monkey see, monkey...", [
"don't",
"eats Banana",
"do"
], default: [true, false, true]
# idx is an array containing the selections
Input
Takes optional default
property (string
).
firstname = Ask.input "What's your name"
phone = Ask.input "What's your phone number", default: "123"
# name and phone are the responses for each question
password = Ask.input "Enter your password", password: true
# this will not prompt the password
Confirm
Takes optional default
property (true
or false
). The default default
value is true.
value = Ask.confirm "Are you sure?"
# value is a boolean
Ask.confirm "Are you sure?", default: false
# Default is false
Options
Method parameters
- question:
string
The text to your are going to ask - elements:
array
Array of options to show. Only forcheckbox
andlist
types.
Rendering options
You can pass this options as the lastest parameter
- clear:
bool
[Default true] Clear the original question after pressing enter - response:
bool
[Default true] Whether to show the selected response
# If you dont want any output use
Ask.input "What's your name", response: false
# If you don't want the response and you want to keep the question prompt
Ask.input "What's your name", clear: false, response: false
Installation
gem install inquirer
Compatibility
Ruby | Linux | OS X | Windows |
---|---|---|---|
MRI 1.9.3 | โ | ||
MRI 2.0.x | โ | ||
MRI 2.1.x | โ | ||
MRI 2.2.x | โ | ||
Rubinius 2.5.x | โ | ||
JRuby 1.7.x | โ | โ | โ |
Contributors
Thank you for contributing!
Credit
This is basically the wonderful Inquirer.js, just done for ruby. I was unable to find a good gem to handle user interaction in ruby as well as this module does in JS.
License
Apache v2 Author: Dominik Richter