# frozen_string_literal: true module EmojiHelper def emojify(text) return text if text.blank? text.gsub(emoji_pattern) do |match| emoji = Emoji.instance.unicode($1) # rubocop:disable Style/PerlBackrefs if emoji emoji else match end end end def emoji_pattern @emoji_pattern ||= /(?<=[^[:alnum:]:]|\n|^) (#{Emoji.instance.names.map { |name| Regexp.escape(name) }.join('|')}) (?=[^[:alnum:]:]|$)/x end end