class Login
Logs in users
Public Class Methods
new()
click to toggle source
# File lib/utils/game/login.rb, line 8 def initialize @store = DATA @user = @store.transaction { @store[:user] } end
Public Instance Methods
create_user()
click to toggle source
# File lib/utils/game/login.rb, line 42 def create_user @store.transaction do store = @store @user = Prompter.new.user store[:user] = @user end reset_data end
current_user()
click to toggle source
simple method to return the username only for other methods
# File lib/utils/game/login.rb, line 14 def current_user @user end
delete_user?()
click to toggle source
Ask if really sure to delete user
# File lib/utils/game/login.rb, line 74 def delete_user? return false unless Prompter.new.delete(@user) puts "\nā DELETING user #{@user}! This action cannot be undone\n" return false unless Prompter.new.really_sure? @store.transaction do store = @store store.delete(:user) end reset_data puts "ā Deleted user #{@user}" create_user end
login()
click to toggle source
If there a user exists, ask to resume
# File lib/utils/game/login.rb, line 24 def login if @user resume else create_user end Achievement.new.employee_otm end
reset_data()
click to toggle source
# File lib/utils/game/login.rb, line 51 def reset_data Score.new.reset_score Morale.new.reset_morale reset_list(Achievement.new.list, 'achievements') reset_list(Activity.new.list, 'distractions') reset_list(Activity.new.list, 'warnings') reset_list(Notifications.new.list, 'notifications') reset_list(Quests.new.list, 'quests') end
reset_list(data, type)
click to toggle source
# File lib/utils/game/login.rb, line 61 def reset_list(data, type) @list = Array.new(data.length, {}) data.each_with_index do |activity, i| @list[i][activity] = 0 end @list.uniq! @store.transaction do store = @store store[type] = @list[0] end end
resume()
click to toggle source
Ask to resume, if not, ask to delete user
# File lib/utils/game/login.rb, line 34 def resume if Prompter.new.resume(@user) user_message else delete_user? end end
user_message()
click to toggle source
Report who is logged in
# File lib/utils/game/login.rb, line 19 def user_message puts "Logged in as #{@user}" end