lib/orats/commands/nuke.rb in orats-0.6.2 vs lib/orats/commands/nuke.rb in orats-0.6.3

- old
+ new

@@ -58,10 +58,24 @@ end end def nuke_redis(namespace) log_thor_task 'root', 'Removing redis keys' - run "redis-cli KEYS '#{namespace}:*' | xargs --delim='\n' redis-cli DEL" + + while not_able_to_nuke_redis?(@options[:redis_password], namespace) + log_status_top 'error', "The redis password you supplied was incorrect\n", :red + new_password = ask('Enter the correct password or CTRL+C to quit:', :cyan) + puts + + break unless not_able_to_nuke_redis?(new_password, namespace) + end + end + + def not_able_to_nuke_redis?(password, namespace) + password.empty? ? redis_password = '' : redis_password = "-a #{password}" + redis_out = run("redis-cli #{redis_password} KEYS '#{namespace}:*' | xargs --delim='\n' redis-cli #{redis_password} DEL", capture: true) + + redis_out.include?('NOAUTH Authentication required') end def nuke_directory log_thor_task 'root', 'Deleting directory' run "rm -rf #{@active_path}" \ No newline at end of file