summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authormichael <michael@iconoclast.net>2012-05-13 13:53:17 -0700
committermichael <michael@iconoclast.net>2012-05-13 13:54:47 -0700
commit75c28ca7f9f4ebe573ee02a4c67159446eeb2ec5 (patch)
tree61437e7c37d2c2f5a5051a3af5c9ad1549cfd216 /examples
parenta93aa2e4b0906ec93420655a672a7f852c499511 (diff)
downloadhighline-75c28ca7f9f4ebe573ee02a4c67159446eeb2ec5.tar.gz
Add typing verification through multiple matching entries
Setting verify_match on a question will allow for "please type it in again for verification" style entries, such as commonly seen when setting/changing passwords, etc. This leverages the existing gather mechanism to control asking for multiple entries, but returns a single answer once all gathered entries match.
Diffstat (limited to 'examples')
-rw-r--r--examples/repeat_entry.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/examples/repeat_entry.rb b/examples/repeat_entry.rb
new file mode 100644
index 0000000..2e4981c
--- /dev/null
+++ b/examples/repeat_entry.rb
@@ -0,0 +1,21 @@
+#!/usr/local/bin/ruby -w
+
+require "rubygems"
+require "highline/import"
+
+tounge_twister = ask("... try saying that three times fast") do |q|
+ q.gather = 3
+ q.verify_match = true
+ q.responses[:mismatch] = "Nope, those don't match. Try again."
+end
+
+puts "Ok, you did it."
+
+pass = ask("Enter your password: ") do |q|
+ q.echo = '*'
+ q.verify_match = true
+ q.gather = {"Enter a password" => '',
+ "Please type it again for verification" => ''}
+end
+
+puts "Your password is now #{pass}!"