diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/sisu/develop/utils_response.rb | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/lib/sisu/develop/utils_response.rb b/lib/sisu/develop/utils_response.rb index 31092bed..4603646e 100644 --- a/lib/sisu/develop/utils_response.rb +++ b/lib/sisu/develop/utils_response.rb @@ -56,17 +56,20 @@ =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 |