Module: EmojiSub
- Extended by:
- EmojiSub
- Included in:
- EmojiSub
- Defined in:
- lib/emoji_sub.rb,
lib/emoji_sub/version.rb,
lib/emoji_sub/emoji_sub.rb,
lib/emoji_sub/definitions.rb
Constant Summary collapse
- GEM_ROOT =
File.dirname(__FILE__) + "/.."
- EMOJI_MAPPING_YAML =
GEM_ROOT + "/data/emoji.yaml"
- VERSION =
"0.5.0"
Class Method Summary collapse
Class Method Details
.definitions ⇒ Object
5 6 7 |
# 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 = {}) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# 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 |