Commit 8fada4fa authored by Eugen Rochko's avatar Eugen Rochko
Browse files

When posting a status or reblogging one, ping hubs about the feed update

parent ad5ae3f6
......@@ -65,6 +65,11 @@ class Account < ActiveRecord::Base
@subscription ||= OStatus2::Subscription.new(self.remote_url, secret: self.secret, token: self.verify_token, webhook: webhook_url, hub: self.hub_url)
end
def ping!(atom_url, hubs)
return unless local?
OStatus2::Publication.new(atom_url, hubs).publish
end
def avatar_remote_url=(url)
self.avatar = URI.parse(url)
@avatar_remote_url = url
......
......@@ -7,6 +7,7 @@ class PostStatusService < BaseService
def call(account, text, in_reply_to = nil)
status = account.statuses.create!(text: text, thread: in_reply_to)
process_mentions_service.(status)
account.ping!(atom_user_stream_url(id: account.id), HUB_URL)
status
end
......
......@@ -5,6 +5,7 @@ class ReblogService < BaseService
# @return [Status]
def call(account, reblogged_status)
reblog = account.statuses.create!(reblog: reblogged_status, text: '')
account.ping!(atom_user_stream_url(id: account.id), HUB_URL)
return reblog if reblogged_status.local?
send_interaction_service.(reblog.stream_entry, reblogged_status.account)
reblog
......
......@@ -107,4 +107,8 @@ RSpec.describe Account, type: :model do
expect(subject.content).to eql subject.note
end
end
describe '#ping!' do
pending
end
end
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment