34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
# File 'lib/ayadn/authorize.rb', line 34
def unauthorize(user, options)
begin
@workers = Workers.new
if user.size > 1
@status.one_username
exit
end
user = @workers.remove_arobase_if_present(user)[0]
puts "\e[H\e[2J"
if options[:delete]
sure = @thor.yes?("Are you sure you want to unauthorize user @#{user} and delete its folders?\n\n> ", :red)
else
sure = @thor.yes?("Are you sure you want to unauthorize user @#{user} ?\n\n> ", :red)
end
unless sure == true
Status.new.canceled
exit
end
puts "\e[H\e[2J"
@thor.say_status :delete, "database entry for @#{user}", :yellow
db = Amalgalite::Database.new(Dir.home + "/ayadn/accounts.sqlite")
Databases.remove_from_accounts(db, user)
if options[:delete]
@thor.say_status :delete, "@#{user} user folders", :yellow
FileUtils.remove_dir(Dir.home + "/ayadn/#{user}")
end
@thor.say_status :done, "user @#{user} has been unauthorized", :green
remaining = Databases.all_accounts(db)
if remaining.flatten.empty?
@thor.say_status :info, "accounts database is now empty", :cyan
else
username = remaining[0][0]
Databases.set_active_account(db, username)
@thor.say_status :info, "user @#{username} is now the active user", :cyan
end
puts "\n"
rescue Interrupt
Status.new.canceled
exit
end
end
|