From df87b398c725bb62003985b77d4afd749a9a5d6b Mon Sep 17 00:00:00 2001 From: Maxwell Salzberg <maxwell@joindiaspora.com> Date: Tue, 13 Sep 2011 16:13:56 -0700 Subject: [PATCH] MS DG; fixed cucumber --- app/models/relayable_retraction.rb | 6 ++++++ app/models/signed_retraction.rb | 4 ++++ config/initializers/resque.rb | 1 + lib/diaspora/encryptable.rb | 6 ------ lib/postzord/dispatcher/private.rb | 4 +++- 5 files changed, 14 insertions(+), 7 deletions(-) diff --git a/app/models/relayable_retraction.rb b/app/models/relayable_retraction.rb index 371edf2fc2..edc7fa200e 100644 --- a/app/models/relayable_retraction.rb +++ b/app/models/relayable_retraction.rb @@ -12,6 +12,8 @@ class RelayableRetraction < SignedRetraction super - ['parent_author_signature'] end + # @param sender [User] + # @param target [Object] def self.build(sender, target) retraction = super retraction.parent_author_signature = retraction.sign_with_key(sender.encryption_key) if defined?(target.parent) && sender.person == target.parent.author @@ -26,6 +28,10 @@ class RelayableRetraction < SignedRetraction self.sender_handle end + def relayable? + true + end + def receive(recipient, sender) if self.target.nil? Rails.logger.info("event=retraction status=abort reason='no post found' sender=#{sender.diaspora_handle} target_guid=#{target_guid}") diff --git a/app/models/signed_retraction.rb b/app/models/signed_retraction.rb index 18e12848d7..d2aa2e1545 100644 --- a/app/models/signed_retraction.rb +++ b/app/models/signed_retraction.rb @@ -18,6 +18,10 @@ class SignedRetraction :target_author_signature, :sender + def author + sender.person + end + def signable_accessors accessors = self.class.roxml_attrs.collect do |definition| definition.accessor diff --git a/config/initializers/resque.rb b/config/initializers/resque.rb index 1a390454b9..f1202f72c1 100644 --- a/config/initializers/resque.rb +++ b/config/initializers/resque.rb @@ -16,6 +16,7 @@ if AppConfig.single_process_mode? klass.send(:perform, *args) rescue Exception => e Rails.logger.warn(e.message) + raise e nil end end diff --git a/lib/diaspora/encryptable.rb b/lib/diaspora/encryptable.rb index 708f03fff0..a950e38f56 100644 --- a/lib/diaspora/encryptable.rb +++ b/lib/diaspora/encryptable.rb @@ -50,11 +50,5 @@ module Diaspora (self.send accessor.to_sym).to_s }.join(';') end - - # @abstract - # @return [String] - #def signable_string - # raise NotImplementedError.new("Implement this in your encryptable class") - #end end end diff --git a/lib/postzord/dispatcher/private.rb b/lib/postzord/dispatcher/private.rb index 370c6f5c41..7aff418d2c 100644 --- a/lib/postzord/dispatcher/private.rb +++ b/lib/postzord/dispatcher/private.rb @@ -119,7 +119,9 @@ class Postzord::Dispatcher::Private # @param services [Array<User>] def notify_users(users) - Resque.enqueue(Job::NotifyLocalUsers, users.map{|u| u.id}, @object.class.to_s, @object.id, @object.author.id) + if @object.respond_to?(:persisted?) + Resque.enqueue(Job::NotifyLocalUsers, users.map{|u| u.id}, @object.class.to_s, @object.id, @object.author.id) + end end # @param services [Array<User>] -- GitLab