Module: TurboChat::Configuration::BlockedWordsSupport

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

Instance Method Summary collapse

Instance Method Details

#effective_blocked_wordsObject



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

def effective_blocked_words
  source = blocked_words
  return [] unless source.respond_to?(:each)

  source.each_with_object([]) do |value, words|
    normalized_word = normalize_blocked_word(value)
    next if normalized_word.blank?
    next if words.include?(normalized_word)

    words << normalized_word
  end
end

#effective_blocked_words_actionObject



16
17
18
19
20
21
# File 'lib/turbo_chat/configuration/blocked_words_support.rb', line 16

def effective_blocked_words_action
  action = blocked_words_action.to_s.strip.downcase
  return DEFAULT_BLOCKED_WORDS_ACTION if action.blank?

  %w[reject scramble].include?(action) ? action : DEFAULT_BLOCKED_WORDS_ACTION
end

#effective_blocked_words_scramble_charsObject



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

def effective_blocked_words_scramble_chars
  source = blocked_words_scramble_chars
  return DEFAULT_BLOCKED_WORDS_SCRAMBLE_CHARS.dup unless source.respond_to?(:each)

  chars = source.each_with_object([]) do |value, result|
    normalized_char = value.to_s
    next if normalized_char.blank?

    result << normalized_char
  end

  chars.presence || DEFAULT_BLOCKED_WORDS_SCRAMBLE_CHARS.dup
end