class VaderSentimentRuby::EmojiDescriber
Replaces emoji characters with their descriptions
Public Class Methods
new(text, emoji_dictionary)
click to toggle source
@param [String] text Original text @param [Hash] emoji_dictionary Emoji dictionary with emojis as keys
# File lib/vader_sentiment_ruby/emojis_describer.rb, line 8 def initialize(text, emoji_dictionary) @text_array = text.split('') @emoji_dictionary = emoji_dictionary @text_no_emoji = '' @prev_space = true end
Public Instance Methods
call()
click to toggle source
@return [String] Text with emojis replaced with descriptions
# File lib/vader_sentiment_ruby/emojis_describer.rb, line 16 def call @text_array.each do |character| if @emoji_dictionary.keys.include?(character) replace_emoji_with_description(character) else handle_simple_character(character) end end @text_no_emoji end
Private Instance Methods
handle_simple_character(character)
click to toggle source
# File lib/vader_sentiment_ruby/emojis_describer.rb, line 36 def handle_simple_character(character) @text_no_emoji += character @prev_space = character == ' ' end
replace_emoji_with_description(emoji)
click to toggle source
# File lib/vader_sentiment_ruby/emojis_describer.rb, line 30 def replace_emoji_with_description(emoji) @text_no_emoji += ' ' unless @prev_space @text_no_emoji += @emoji_dictionary[emoji] @prev_space = false end