module EmojiSub
Constants
- EMOJI_MAPPING_YAML
- GEM_ROOT
- VERSION
Public Class Methods
definitions()
click to toggle source
# File lib/emoji_sub/definitions.rb, line 5 def definitions @emoji_definitions ||= YAML.load(File.read(EMOJI_MAPPING_YAML)) end
emoji_sub(text, additional_mappings = {})
click to toggle source
# File lib/emoji_sub/emoji_sub.rb, line 3 def emoji_sub(text, additional_mappings = {}) known_emoji = definitions.merge(additional_mappings) discovered_emoji = text.scan(/:([\w\d\-\_]+):/).flatten.map(&:to_sym).uniq found = discovered_emoji.each_with_object({}) do |emoji, found| found[emoji] = known_emoji.fetch(emoji,nil) end.compact found.each do |shortcode, unicode| text.gsub!(/:#{shortcode}:/, Array(unicode).map { |u| "&#x#{u}" }.join('')) end text end
Private Instance Methods
definitions()
click to toggle source
# File lib/emoji_sub/definitions.rb, line 5 def definitions @emoji_definitions ||= YAML.load(File.read(EMOJI_MAPPING_YAML)) end
emoji_sub(text, additional_mappings = {})
click to toggle source
# File lib/emoji_sub/emoji_sub.rb, line 3 def emoji_sub(text, additional_mappings = {}) known_emoji = definitions.merge(additional_mappings) discovered_emoji = text.scan(/:([\w\d\-\_]+):/).flatten.map(&:to_sym).uniq found = discovered_emoji.each_with_object({}) do |emoji, found| found[emoji] = known_emoji.fetch(emoji,nil) end.compact found.each do |shortcode, unicode| text.gsub!(/:#{shortcode}:/, Array(unicode).map { |u| "&#x#{u}" }.join('')) end text end