d: utils_response, ease selection options
authorRalph Amissah <ralph@amissah.com>
Mon, 12 Jan 2015 03:14:48 +0000 (22:14 -0500)
committerRalph Amissah <ralph@amissah.com>
Tue, 20 Jan 2015 04:46:16 +0000 (23:46 -0500)
data/doc/sisu/CHANGELOG_v6
lib/sisu/develop/utils_response.rb

index a820611600ff06e391ebbe46ca3699b7cf11b5ee..4a385a72557cad1269bc5f5e8db351fc4a668d2e 100644 (file)
@@ -94,6 +94,8 @@ http://www.jus.uio.no/sisu/pkg/src/sisu_6.4.0.orig.tar.xz
 
   * utils_composite, composite documents (.ssm) extract the list of insert files
 
+  * utils_response, ease selection options
+
   * SiSU_is switched to a method (instead of a hash) (bin and lib)
 
   * use RbConfig instead of Config
index 31092bedeb6d9fabbd424883584dc7f5867cca5f..4603646eeeb1669287abad85edf893bf07f753b0 100644 (file)
 =end
 module SiSU_Response
   class Response
-    def response?(ask) #move to more appropriate directory later
+    def available_selections_
+      %{'yes', 'no', 'quit' or 'exit'; [ynqx]}
+    end
+    def response?(ask)
       response='redo'
-      print ask + " ['yes', 'no' or 'quit']: "
+      print ask + %{ [#{available_selections_}]: }
       response=File.new('/dev/tty').gets.strip
-      ans=if response=='yes'         then true
-      elsif response=='no'           then false
-      elsif response =~/^quit|exit$/ then exit
-      else puts "[please type: 'yes', 'no' or 'quit']"
+      case response
+      when /^(?:y|yes)$/          then true
+      when /^(?:n|no)$/           then false
+      when /^(?:[qx]|quit|exit)$/ then exit
+      else puts %{[please type: #{available_selections_}]}
         response?(ask)
       end
-      ans
     end
   end
 end