<% cache membership do %> <% members = membership.room.users.without(membership.user).presence || [ membership.user ] %> <%= link_to_room membership.room, class: [ "direct", "unread": membership.unread? ], id: dom_id(membership.room, :list), data: { sorted_list_number: membership.room.updated_at.to_fs(:epoch) } do %> <% if members.many? %>
<% members.first(4).each do |member| %> <%= image_tag fresh_user_avatar_path(member), size: 20, aria: { hidden: "true" } %> <% end %>
<% else %> <%= image_tag fresh_user_avatar_path(members.first), size: 48, aria: { hidden: "true" } %> <% end %> Ping with <% if members.many? %> <%= members.map { |member| member.name.split(' ')[0, 3].map { |str| str[0].capitalize }.join }.to_sentence(two_words_connector: '+') %> <% else %> <%= members.first.name.split(' ')[0] %> <% end %> <% end %> <% end %>