Skip to content
Extraits de code Groupes Projets
Valider b797704a rédigé par maxwell's avatar maxwell
Parcourir les fichiers

MS small pointless webhooks refactor

parent 416f128b
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
class Post
require 'lib/diaspora/webhooks'
include ApplicationHelper
include MongoMapper::Document
include ApplicationHelper
include ROXML
include Diaspora::Webhooks
include Encryptable
......
......@@ -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
"<post>#{self.to_xml.to_s}</post>"
end
......@@ -53,7 +51,7 @@ module Diaspora
def self.build_xml_for(posts)
xml = "<XML>"
xml += "\n <posts>"
posts.each {|x| xml << x.prep_webhook}
[*posts].each {|x| xml << x.to_diaspora_xml}
xml += "</posts>"
xml += "</XML>"
end
......
......@@ -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
......
......@@ -26,8 +26,6 @@ describe Diaspora::OStatus do
sm_entry.should include(@status_message.message)
sm_entry.should include('title')
end
end
end
end
......@@ -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>#{@post.to_xml.to_s}</post>"
it "should convert an object to a proper diaspora entry" do
@post.to_diaspora_xml.should == "<post>#{@post.to_xml.to_s}</post>"
end
it "should retrieve all valid person endpoints" do
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter