diff --git a/app/models/post.rb b/app/models/post.rb index e31007079..1be97bd05 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -1,7 +1,6 @@ class Post - require 'lib/diaspora/webhooks' - include ApplicationHelper include MongoMapper::Document + include ApplicationHelper include ROXML include Diaspora::Webhooks include Encryptable diff --git a/lib/diaspora/webhooks.rb b/lib/diaspora/webhooks.rb index 1a886a170..b87f7e784 100644 --- a/lib/diaspora/webhooks.rb +++ b/lib/diaspora/webhooks.rb @@ -2,8 +2,7 @@ module Diaspora module Webhooks def self.included(klass) klass.class_eval do - include ROXML - require 'message_handler' + #require 'message_handler' @@queue = MessageHandler.new def notify_people @@ -24,10 +23,9 @@ module Diaspora def push_to(recipients) @@queue.add_hub_notification(APP_CONFIG[:pubsub_server], User.owner.url + self.class.to_s.pluralize.underscore + '.atom') - unless recipients.empty? recipients.map!{|x| x = x.url + "receive/"} - xml = self.class.build_xml_for([self]) + xml = self.class.build_xml_for(self) Rails.logger.info("Adding xml for #{self} to message queue to #{recipients}") @@queue.add_post_request( recipients, xml ) end @@ -36,13 +34,13 @@ module Diaspora def push_to_url(url) hook_url = url + "receive/" - xml = self.class.build_xml_for([self]) + xml = self.class.build_xml_for(self) Rails.logger.info("Adding xml for #{self} to message queue to #{url}") - @@queue.add_post_request( [hook_url], xml ) + @@queue.add_post_request( hook_url, xml ) @@queue.process end - def prep_webhook + def to_diaspora_xml "#{self.to_xml.to_s}" end @@ -53,7 +51,7 @@ module Diaspora def self.build_xml_for(posts) xml = "" xml += "\n " - posts.each {|x| xml << x.prep_webhook} + [*posts].each {|x| xml << x.to_diaspora_xml} xml += "" xml += "" end diff --git a/lib/message_handler.rb b/lib/message_handler.rb index 1ce4fdad5..a1d5702f2 100644 --- a/lib/message_handler.rb +++ b/lib/message_handler.rb @@ -9,7 +9,7 @@ class MessageHandler end def add_get_request(destinations) - destinations.each{ |dest| @queue.push(Message.new(:get, dest))} + [*destinations].each{ |dest| @queue.push(Message.new(:get, dest))} end def add_subscription_request(feed_url) @@ -18,7 +18,7 @@ class MessageHandler def add_post_request(destinations, body) b = CGI::escape( body ) - destinations.each{|dest| @queue.push(Message.new(:post, dest, :body => b))} + [*destinations].each{|dest| @queue.push(Message.new(:post, dest, :body => b))} end # pubsubhubbub diff --git a/spec/lib/diaspora_ostatus_generator_spec.rb b/spec/lib/diaspora_ostatus_generator_spec.rb index b524e605b..768b46c9f 100644 --- a/spec/lib/diaspora_ostatus_generator_spec.rb +++ b/spec/lib/diaspora_ostatus_generator_spec.rb @@ -26,8 +26,6 @@ describe Diaspora::OStatus do sm_entry.should include(@status_message.message) sm_entry.should include('title') end - end end - end diff --git a/spec/lib/web_hooks_spec.rb b/spec/lib/web_hooks_spec.rb index debd5031f..d1819980f 100644 --- a/spec/lib/web_hooks_spec.rb +++ b/spec/lib/web_hooks_spec.rb @@ -17,12 +17,12 @@ describe Diaspora do it "should add the following methods to Post on inclusion" do @post.respond_to?(:notify_people).should be true - @post.respond_to?(:prep_webhook).should be true + @post.respond_to?(:to_diaspora_xml).should be true @post.respond_to?(:people_with_permissions).should be true end - it "should convert an object to a proper webhook" do - @post.prep_webhook.should == "#{@post.to_xml.to_s}" + it "should convert an object to a proper diaspora entry" do + @post.to_diaspora_xml.should == "#{@post.to_xml.to_s}" end it "should retrieve all valid person endpoints" do