FEATURE: add censored_pattern setting to censor posts using regex

This commit is contained in:
Neil Lalonde
2016-11-08 16:36:34 -05:00
parent 7d560ea3d5
commit 86522a52b7
10 changed files with 121 additions and 18 deletions

View File

@@ -0,0 +1,25 @@
class RegexSettingValidator
LOREM = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam eget sem non elit tincidunt rhoncus.'.freeze
def initialize(opts={})
@opts = opts
end
def valid_value?(val)
!val.present? || valid_regex?(val)
end
# Check that string is a valid regex, and that it doesn't match most of the lorem string.
def valid_regex?(val)
r = Regexp.new(val)
matches = r.match(LOREM)
matches.nil? || matches[0].length < (LOREM.length - 10)
rescue
false
end
def error_message
I18n.t('site_settings.errors.invalid_regex')
end
end