mirror of
https://github.com/discourse/discourse.git
synced 2024-11-29 04:03:57 -06:00
fd07c943ad
- Ignore only invalid words, not all words if one of them is invalid - The naming scheme for methods was inconsistent - Optimize regular expressions
26 lines
609 B
Ruby
26 lines
609 B
Ruby
# frozen_string_literal: true
|
|
|
|
class WatchedWordListSerializer < ApplicationSerializer
|
|
attributes :actions, :words, :compiled_regular_expressions
|
|
|
|
def actions
|
|
if SiteSetting.tagging_enabled
|
|
WatchedWord.actions.keys
|
|
else
|
|
WatchedWord.actions.keys.filter { |k| k != :tag }
|
|
end
|
|
end
|
|
|
|
def words
|
|
object.map { |word| WatchedWordSerializer.new(word, root: false) }
|
|
end
|
|
|
|
def compiled_regular_expressions
|
|
expressions = {}
|
|
actions.each do |action|
|
|
expressions[action] = WordWatcher.serialized_regexps_for_action(action, engine: :js)
|
|
end
|
|
expressions
|
|
end
|
|
end
|