diff --git a/lib/diaspora/relayable.rb b/lib/diaspora/relayable.rb index d5b85263a..cc80a3001 100644 --- a/lib/diaspora/relayable.rb +++ b/lib/diaspora/relayable.rb @@ -35,10 +35,14 @@ module Diaspora self.parent.subscribers(user) elsif user.owns?(self) [self.parent.author] + else + raise "What are you doing with a relayable that you have nothing to do with?" + #[] end end def receive(user, person) + self.class.transaction do comment_or_like = self.class.where(:guid => self.guid).first || self @@ -57,11 +61,14 @@ module Diaspora #dispatch object DOWNSTREAM, received it via UPSTREAM unless user.owns?(comment_or_like) - comment_or_like.save + puts "i am #{user.username}, I am reiveiving and object for #{person.owner.username}" + pp self + comment_or_like.save! Postzord::Dispatcher.new(user, comment_or_like).post end comment_or_like.socket_to_user(user) if comment_or_like.respond_to? :socket_to_user + if comment_or_like.after_receive(user, person) comment_or_like end diff --git a/lib/postzord/dispatcher.rb b/lib/postzord/dispatcher.rb index d1178258d..7b3c5255b 100644 --- a/lib/postzord/dispatcher.rb +++ b/lib/postzord/dispatcher.rb @@ -21,6 +21,5 @@ class Postzord::Dispatcher @zord = Postzord::Dispatcher::Private.new(user, object, opts) #end end - end diff --git a/lib/postzord/receiver/private.rb b/lib/postzord/receiver/private.rb index 18ba4dfb9..521be7b79 100644 --- a/lib/postzord/receiver/private.rb +++ b/lib/postzord/receiver/private.rb @@ -33,6 +33,8 @@ module Postzord Rails.logger.info("event=receive status=start recipient=#{@user_person.diaspora_handle} payload_type=#{@object.class} sender=#{@sender.diaspora_handle}") if self.validate_object receive_object + else + raise 'not a valid object' end end