discourse/app/serializers/watched_word_list_serializer.rb
Bianca Nenciu b56e9ad656
DEV: Simplify watched word code (#13103)
* DEV: Use site setting instead

* DEV: Use .length instead of a different property

* DEV: Simplify watched word code
2021-05-27 19:20:26 +03:00

25 lines
611 B
Ruby

# frozen_string_literal: true
class WatchedWordListSerializer < ApplicationSerializer
attributes :actions, :words, :compiled_regular_expressions
def actions
SiteSetting.tagging_enabled ? WatchedWord.actions.keys
: WatchedWord.actions.keys.filter { |k| k != :tag }
end
def words
object.map do |word|
WatchedWordSerializer.new(word, root: false)
end
end
def compiled_regular_expressions
expressions = {}
actions.each do |action|
expressions[action] = WordWatcher.word_matcher_regexp(action)&.source
end
expressions
end
end