71 lines
1.5 KiB
Ruby
71 lines
1.5 KiB
Ruby
class Post
|
|
require 'lib/message_handler'
|
|
|
|
|
|
# XML accessors must always preceed mongo field tags
|
|
|
|
include Mongoid::Document
|
|
include Mongoid::Timestamps
|
|
include ROXML
|
|
|
|
xml_accessor :owner
|
|
xml_accessor :snippet
|
|
xml_accessor :source
|
|
|
|
field :owner
|
|
field :source
|
|
field :snippet
|
|
|
|
before_create :set_defaults
|
|
#after_update :notify_friends
|
|
after_save :notify_friends
|
|
|
|
@@queue = MessageHandler.new
|
|
|
|
def notify_friends
|
|
puts "hello"
|
|
|
|
xml = prep_webhook
|
|
#friends_with_permissions.each{ |friend| puts friend; Curl.post( "\"" + xml + "\" " + friend) }
|
|
@@queue.add_post_request( friends_with_permissions, xml )
|
|
@@queue.process
|
|
end
|
|
|
|
def prep_webhook
|
|
self.to_xml.to_s.chomp
|
|
end
|
|
|
|
def friends_with_permissions
|
|
#friends = Friend.only(:url).map{|x| x = x.url + "/receive/"}
|
|
#3.times {friends = friends + friends}
|
|
#friends
|
|
googles = []
|
|
100.times{ googles <<"http://google.com/"} #"http://localhost:4567/receive/"} #"http://google.com/"}
|
|
googles
|
|
end
|
|
|
|
@@models = ["StatusMessage", "Bookmark", "Blog"]
|
|
|
|
def self.recent_ordered_posts
|
|
# Need to explicitly name each inherited model for dev environment
|
|
query = if Rails.env == "development"
|
|
Post.criteria.all(:_type => @@models)
|
|
else
|
|
Post.criteria.all
|
|
end
|
|
query.order_by( [:created_at, :desc] )
|
|
end
|
|
|
|
|
|
protected
|
|
|
|
def set_defaults
|
|
user_email = User.first.email
|
|
self.owner ||= user_email
|
|
self.source ||= user_email
|
|
self.snippet ||= user_email
|
|
end
|
|
|
|
|
|
end
|
|
|