diff options
author | Louise Crow <louise.crow@gmail.com> | 2012-08-14 14:14:35 +0100 |
---|---|---|
committer | Louise Crow <louise.crow@gmail.com> | 2012-08-14 14:14:35 +0100 |
commit | c6d5020a9a48226feaccd856df0c8f4584d5fd08 (patch) | |
tree | 0b86047eca0f3a5737203ca7e1953bb2d93ee98e /app/models/censor_rule.rb | |
parent | 03a875ae16520d7a5fc1c5e8f7e607c7fa6aded2 (diff) |
Handle regexp rules when running censor rules on binary files.
Diffstat (limited to 'app/models/censor_rule.rb')
-rw-r--r-- | app/models/censor_rule.rb | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/app/models/censor_rule.rb b/app/models/censor_rule.rb index 4548a3a71..4e96dc55a 100644 --- a/app/models/censor_rule.rb +++ b/app/models/censor_rule.rb @@ -43,10 +43,6 @@ class CensorRule < ActiveRecord::Base end end - def binary_replacement - self.text.gsub(/./, 'x') - end - def apply_to_text!(text) if text.nil? return nil @@ -59,7 +55,8 @@ class CensorRule < ActiveRecord::Base if binary.nil? return nil end - binary.gsub!(self.text, self.binary_replacement) + to_replace = regexp? ? Regexp.new(self.text, Regexp::MULTILINE) : self.text + binary.gsub!(to_replace){ |match| match.gsub(/./, 'x') } end def for_admin_column |