Sha256: 430953607d7aa53611a1e7f50ae5d87d097fde2d43391e25f11cdaed328031e3
Contents?: true
Size: 1.07 KB
Versions: 1
Compression:
Stored size: 1.07 KB
Contents
# encoding: UTF-8 module Quesadilla class Extractor # Extract named emoji. # # This module has no public methods. module Emoji private require 'named_emoji' # Emoji colon-syntax regex EMOJI_COLON_REGEX = %r{:([a-zA-Z0-9_\-\+]+):}.freeze def replace_emoji codes = {} # Replace codes with shas i = 0 while match = @original_text.match(Markdown::CODE_REGEX) original = match[0] key = Digest::SHA1.hexdigest("#{original}-#{i}") codes[key] = original @original_text.sub!(original, key) i += 1 end # Replace emojis match = @original_text.match(EMOJI_COLON_REGEX) match.captures.each do |match| sym = match.downcase.to_sym next unless NamedEmoji.emojis.keys.include?(sym) @original_text.sub!(":#{sym}:", NamedEmoji.emojis[sym]) end if match && match.captures # Unreplace codes codes.each do |key, value| @original_text.sub!(key, value) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
quesadilla-0.1.3 | lib/quesadilla/extractor/emoji.rb |