Add sensitive words setting
This commit is contained in:
parent
0dbc070037
commit
cd00d7f533
12 changed files with 128 additions and 1 deletions
25
app/models/admin/sensitive_word.rb
Normal file
25
app/models/admin/sensitive_word.rb
Normal file
|
@ -0,0 +1,25 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class Admin::SensitiveWord
|
||||
class << self
|
||||
def sensitive?(text, spoiler_text)
|
||||
exposure_text = (spoiler_text.presence || text)
|
||||
(spoiler_text.blank? && sensitive_words.any? { |word| text.include?(word) }) ||
|
||||
sensitive_words_for_full.any? { |word| exposure_text.include?(word) }
|
||||
end
|
||||
|
||||
def modified_text(text, spoiler_text)
|
||||
spoiler_text.present? ? "#{spoiler_text}\n\n#{text}" : text
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def sensitive_words
|
||||
Setting.sensitive_words || []
|
||||
end
|
||||
|
||||
def sensitive_words_for_full
|
||||
Setting.sensitive_words_for_full || []
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue