about summary refs log tree commit diff
path: root/app/models/status.rb
diff options
context:
space:
mode:
authormultiple creatures <dev@multiple-creature.party>2020-02-19 14:51:04 -0600
committermultiple creatures <dev@multiple-creature.party>2020-02-19 14:51:04 -0600
commit3cc046d278fda7ec556de51784b12018f23ace78 (patch)
tree985b250d4b0d2d30c8ac45f401759e85bf03be6a /app/models/status.rb
parent95fdc57da6c1307686c70ce581bda24a679f9c12 (diff)
only process bangtags on `create`, add `process_bangtags?` & `process_bangtags!` methods to status model
Diffstat (limited to 'app/models/status.rb')
-rw-r--r--app/models/status.rb9
1 files changed, 6 insertions, 3 deletions
diff --git a/app/models/status.rb b/app/models/status.rb
index 969cb0c16..15ad76944 100644
--- a/app/models/status.rb
+++ b/app/models/status.rb
@@ -395,6 +395,7 @@ class Status < ApplicationRecord
   around_create Mastodon::Snowflake::Callbacks
 
   before_create :set_locality
+  before_create :process_bangtags?, if: :local?
 
   before_validation :prepare_contents, if: :local?
   before_validation :set_reblog
@@ -405,8 +406,6 @@ class Status < ApplicationRecord
 
   after_create :set_poll_id
 
-  before_save :process_bangtags?, if: :local?
-
   after_save :update_sharekey, if: :local?
   after_save :update_origin, if: :local?
   after_save :process_bangtags, if: :local?
@@ -714,9 +713,13 @@ class Status < ApplicationRecord
     @_process_bangtags |= text_changed?
   end
 
+  def process_bangtags!
+    Bangtags.new(self).process
+  end
+
   def process_bangtags
     return unless @_process_bangtags
-    Bangtags.new(self).process
+    process_bangtags!
   end
 
   def update_sharekey