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  | 
