Class: SimpleChat::ChatRoom

Inherits:
ApplicationRecord show all
Defined in:
app/models/simple_chat/chat_room.rb

Instance Method Summary collapse

Instance Method Details

#is_member?(user) ⇒ Boolean

Returns:

  • (Boolean)


29
30
31
# File 'app/models/simple_chat/chat_room.rb', line 29

def is_member?(user)
  chat_members.exists?(user: user)
end

#last_messageObject



9
10
11
# File 'app/models/simple_chat/chat_room.rb', line 9

def last_message
  messages.last
end

#last_message_user_nameObject



13
14
15
16
# File 'app/models/simple_chat/chat_room.rb', line 13

def last_message_user_name
  return nil unless last_message
  user_name(last_message.user)
end

#member_avatars(limit = 5) ⇒ Object



18
19
20
21
22
23
# File 'app/models/simple_chat/chat_room.rb', line 18

def member_avatars(limit = 5)
  chat_members.limit(limit).map do |member|
    name = user_name(member.user)
    { name: name, url: "https://ui-avatars.com/api/?name=#{CGI.escape(name)}&background=random" }
  end
end

#messages_countObject



25
26
27
# File 'app/models/simple_chat/chat_room.rb', line 25

def messages_count
  messages.count
end