Class: AutoHtml::Emoji

Inherits:
Object
  • Object
show all
Defined in:
lib/auto_html/emoji.rb

Overview

Emoji filter

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.emoji_namesObject



20
21
22
# File 'lib/auto_html/emoji.rb', line 20

def self.emoji_names
  ::Emoji.all.map(&:aliases).flatten.sort
end

.emoji_patternObject



15
16
17
18
# File 'lib/auto_html/emoji.rb', line 15

def self.emoji_pattern
  @emoji_pattern ||=
    /:(#{emoji_names.map { |name| Regexp.escape(name) }.join('|')}):/
end

Instance Method Details

#call(text) ⇒ Object



8
9
10
11
12
13
# File 'lib/auto_html/emoji.rb', line 8

def call(text)
  text.gsub(self.class.emoji_pattern) do
    name = Regexp.last_match(1)
    ::Emoji.find_by_alias(name).raw
  end
end