MS small pointless webhooks refactor
This commit is contained in:
parent
416f128ba8
commit
b797704a14
5 changed files with 12 additions and 17 deletions
|
|
@ -1,7 +1,6 @@
|
|||
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
|
||||
|
|
|
|||
Loading…
Reference in a new issue