improvements to active meetings

This commit is contained in:
Josh
2017-07-04 11:52:35 -04:00
parent 44e2cb7027
commit 27f6076954
8 changed files with 162 additions and 39 deletions

View File

@ -0,0 +1,35 @@
# Stores data on waiting users on the server side so
# we can pass it to clients when they reload the page.
class WaitingList
@waiting = {}
def self.waiting
@waiting
end
def self.add(room, user, meeting)
@waiting[room] = {} unless @waiting.has_key?(room)
@waiting[room][meeting] = [] unless @waiting[room].has_key?(meeting)
@waiting[room][meeting] << user
end
def self.remove(room, user, meeting)
if @waiting.has_key?(room) then
if @waiting[room].has_key?(meeting) then
@waiting[room][meeting].slice!(@waiting[room][meeting].index(user))
@waiting[room].delete(meeting) if @waiting[room][meeting].length == 0
@waiting.delete(room) if @waiting[room].length == 0
end
end
end
def self.empty(room, meeting)
if @waiting.has_key?(room) then
if @waiting[room].has_key?(meeting) then
@waiting[room].delete(meeting)
@waiting.delete(room) if @waiting[room].length == 0
end
end
end
end