Sha256: 7a7b88c23ee18ccedfcd37e4424ed860e3343e4c7d698e790292753f623fdf1a
Contents?: true
Size: 721 Bytes
Versions: 2
Compression:
Stored size: 721 Bytes
Contents
# frozen_string_literal: true module Thredded class AtUsers # @param users_provider [#call(usernames)] given usernames, returns a list of users. def self.render(content, users_provider, view_context) at_names = AtNotificationExtractor.new(content).run if at_names.any? members = users_provider.call(at_names) members.each do |member| member_path = Thredded.user_path(view_context, member) name = member.to_s content.gsub!(/(^|[\s>])(@#{name.include?(' ') ? %("#{name}") : name})\b/i, %(\1<a href="#{ERB::Util.html_escape member_path}">@#{ERB::Util.html_escape name}</a>)) end end content end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
thredded-0.6.0 | lib/thredded/at_users.rb |
thredded-0.5.1 | lib/thredded/at_users.rb |