Module: TurboChat::Configuration::EmojiSupport

Included in:
TurboChat::Configuration
Defined in:
lib/turbo_chat/configuration/emoji_support.rb

Instance Method Summary collapse

Instance Method Details

#add_emoji_alias(name, value) ⇒ Object

Raises:

  • (ArgumentError)


3
4
5
6
7
8
9
10
11
# File 'lib/turbo_chat/configuration/emoji_support.rb', line 3

def add_emoji_alias(name, value)
  key = normalize_emoji_alias_key(name)
  raise ArgumentError, "Emoji alias cannot be blank" if key.blank?

  normalized_value = value.to_s.strip
  raise ArgumentError, "Emoji alias value cannot be blank" if normalized_value.blank?

  self.emoji_aliases = effective_emoji_aliases.merge(key => normalized_value)
end

#clear_emoji_aliases!Object



20
# File 'lib/turbo_chat/configuration/emoji_support.rb', line 20

def clear_emoji_aliases! = self.emoji_aliases = {}

#effective_emoji_aliasesObject



24
25
26
27
28
29
30
31
32
33
34
# File 'lib/turbo_chat/configuration/emoji_support.rb', line 24

def effective_emoji_aliases
  source = emoji_aliases.is_a?(Hash) ? emoji_aliases : {}

  source.each_with_object({}) do |(key, value), aliases|
    normalized_key = normalize_emoji_alias_key(key)
    normalized_value = value.to_s.strip
    next if normalized_key.blank? || normalized_value.blank?

    aliases[normalized_key] = normalized_value
  end
end

#remove_emoji_alias(name) ⇒ Object



13
14
15
16
17
18
# File 'lib/turbo_chat/configuration/emoji_support.rb', line 13

def remove_emoji_alias(name)
  key = normalize_emoji_alias_key(name)
  return if key.blank?

  self.emoji_aliases = effective_emoji_aliases.except(key)
end

#reset_emoji_aliases!Object



22
# File 'lib/turbo_chat/configuration/emoji_support.rb', line 22

def reset_emoji_aliases! = self.emoji_aliases = DEFAULT_EMOJI_ALIASES.dup