- # 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
|