diaspora/lib/postzord/dispatcher/private.rb

31 lines
1,009 B
Ruby

# Copyright (c) 2010-2011, Diaspora Inc. This file is
# licensed under the Affero General Public License version 3 or later. See
# the COPYRIGHT file.
class Postzord::Dispatcher::Private < Postzord::Dispatcher
# @param user [User] User dispatching the object in question
# @param object [Object] The object to be sent to other Diaspora installations
# @opt additional_subscribers [Array<Person>] Additional subscribers
def initialize(user, object, opts={})
@sender = user
@object = object
@xml = @object.to_diaspora_xml
additional_subscribers = opts[:additional_subscribers] || []
@subscribers = subscribers_from_object | [*additional_subscribers]
end
# @param user [User]
# @param activity [String]
# @return [Salmon::EncryptedSlap]
def self.salmon(user, activity)
Salmon::EncryptedSlap.create_by_user_and_activity(user, activity)
end
# @param person [Person]
# @return [String]
def self.receive_url_for(person)
person.receive_url
end
end