about summary refs log tree commit diff
path: root/app/lib/bangtags.rb
diff options
context:
space:
mode:
authormultiple creatures <dev@multiple-creature.party>2020-02-16 01:36:16 -0600
committermultiple creatures <dev@multiple-creature.party>2020-02-16 01:36:16 -0600
commitf7ef10bd38b62bfd03f5ccc556de26e0c98b56a1 (patch)
tree4d9d96fb1644f80ed0cfdca5c9f7c6de5c924a5e /app/lib/bangtags.rb
parent8ce32d01ab4e8c2511d3129d628fa614f158539e (diff)
add `parent:publish` (aliased to `public`) bangtag to publish a draft
Diffstat (limited to 'app/lib/bangtags.rb')
-rw-r--r--app/lib/bangtags.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/app/lib/bangtags.rb b/app/lib/bangtags.rb
index 8d61ca440..9a1b74512 100644
--- a/app/lib/bangtags.rb
+++ b/app/lib/bangtags.rb
@@ -27,6 +27,8 @@ class Bangtags
       'quit' => ['thread'],
       'kick' => ['thread'],
       'unkick' => ['thread'],
+
+      'publish' => ['parent'],
     }
 
     @aliases = {
@@ -551,6 +553,13 @@ class Bangtags
             media_ids = @parent_status.media_attachments.pluck(:id)
             BatchFetchMediaWorker.perform_async(media_ids) unless media_ids.empty?
             FetchAvatarWorker.perform_async(@parent_status.account.id)
+
+          when 'publish'
+            chunk = nil
+            del_tags(@parent_status, 'self.draft', 'draft')
+            Bangtags.new(@parent_status).process
+            @parent_status.save
+            PostStatusWorker.perform_async(@parent_status.id, hidden: false, process_mentions: true)
           end
 
         when 'media'