class Babili::Platform::Room
Public Class Methods
all()
click to toggle source
# File lib/babili/platform/room.rb, line 8 def self.all rooms = [] previous_first_seen_room_id = false first_seen_room_id = nil while previous_first_seen_room_id != first_seen_room_id previous_first_seen_room_id = first_seen_room_id if first_seen_room_id raw_rooms = Babili::Client.get(path + "?firstSeenRoomId=#{first_seen_room_id}") else raw_rooms = Babili::Client.get(path) end return rooms if raw_rooms["data"].empty? rooms.concat(raw_rooms["data"].map do |raw_room| room = new(raw_room["attributes"]) room.id = raw_room["id"] room.users = raw_room["relationships"]["users"]["data"].map do |raw_user| user = Babili::Platform::User.new({id: raw_user["id"]}) user end room end) first_seen_room_id = raw_rooms["data"].last["id"] end end
create(params = {})
click to toggle source
# File lib/babili/platform/room.rb, line 34 def self.create(params = {}) user_ids = params[:user_ids] || params["user_ids"] formatted_params = { data: { id: params[:id] || params["id"], attributes: { name: params[:name] || params["name"] }, relationships: { users: {} } } } if user_ids formatted_params[:data][:relationships][:users][:data] = user_ids.map do |user_id| { id: user_id } end end raw_room = Babili::Client.post(path, formatted_params)["data"] room = new(raw_room["attributes"]) room.id = raw_room["id"] room end
path()
click to toggle source
# File lib/babili/platform/room.rb, line 4 def self.path "platform/rooms" end
retreive(room_id)
click to toggle source
# File lib/babili/platform/room.rb, line 58 def self.retreive(room_id) retreive_path = path + "/#{room_id}" raw_room = Babili::Client.get(retreive_path)["data"] room = new(raw_room["attributes"]) room.id = raw_room["id"] room end
Public Instance Methods
delete()
click to toggle source
# File lib/babili/platform/room.rb, line 70 def delete path = self.class.path + "/#{id}" raw_room = Babili::Client.delete(path)["data"] room = self.class.new(raw_room["attributes"]) room.id = raw_room["id"] room end
messages()
click to toggle source
# File lib/babili/platform/room.rb, line 66 def messages Babili::Platform::Message.all_for_room(self.id) end