diff options
Diffstat (limited to 'app/services/post_status_service.rb')
-rw-r--r-- | app/services/post_status_service.rb | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/app/services/post_status_service.rb b/app/services/post_status_service.rb index cf824ff99..979a157e9 100644 --- a/app/services/post_status_service.rb +++ b/app/services/post_status_service.rb @@ -5,15 +5,20 @@ class PostStatusService < BaseService # @param [Account] account Account from which to post # @param [String] text Message # @param [Status] in_reply_to Optional status to reply to - # @param [Enumerable] media_ids Optional array of media IDs to attach + # @param [Hash] options + # @option [Boolean] :sensitive + # @option [Enumerable] :media_ids Optional array of media IDs to attach # @return [Status] - def call(account, text, in_reply_to = nil, media_ids = nil) - status = account.statuses.create!(text: text, thread: in_reply_to) - attach_media(status, media_ids) + def call(account, text, in_reply_to = nil, options = {}) + status = account.statuses.create!(text: text, thread: in_reply_to, sensitive: options[:sensitive]) + attach_media(status, options[:media_ids]) process_mentions_service.call(status) process_hashtags_service.call(status) + DistributionWorker.perform_async(status.id) HubPingWorker.perform_async(account.id) + Pubsubhubbub::DistributionWorker.perform_async(status.stream_entry.id) + status end |