about summary refs log tree commit diff
path: root/app/validators/disallowed_hashtags_validator.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/validators/disallowed_hashtags_validator.rb')
-rw-r--r--app/validators/disallowed_hashtags_validator.rb9
1 files changed, 7 insertions, 2 deletions
diff --git a/app/validators/disallowed_hashtags_validator.rb b/app/validators/disallowed_hashtags_validator.rb
index 22c027b0f..ee06b20f6 100644
--- a/app/validators/disallowed_hashtags_validator.rb
+++ b/app/validators/disallowed_hashtags_validator.rb
@@ -4,14 +4,19 @@ class DisallowedHashtagsValidator < ActiveModel::Validator
   def validate(status)
     return unless status.local? && !status.reblog?
 
-    tags = Extractor.extract_hashtags(status.text)
-    tags.keep_if { |tag| disallowed_hashtags.include? tag.downcase }
+    @status = status
+    tags    = select_tags
 
     status.errors.add(:text, I18n.t('statuses.disallowed_hashtags', tags: tags.join(', '), count: tags.size)) unless tags.empty?
   end
 
   private
 
+  def select_tags
+    tags = Extractor.extract_hashtags(@status.text)
+    tags.keep_if { |tag| disallowed_hashtags.include? tag.downcase }
+  end
+
   def disallowed_hashtags
     return @disallowed_hashtags if @disallowed_hashtags