Newer
Older
# Copyright (c) 2010-2011, Diaspora Inc. This file is
# licensed under the Affero General Public License version 3 or later. See
Daniel Vincent Grippi
a validé
include SocketsHelper
include Rails.application.routes.url_helpers
Maxwell Salzberg
a validé
helper_method :all_aspects
Rails.logger.info("Socket received connection to: #{msg}")
def outgoing(user_or_id, object, opts={})
Maxwell Salzberg
a validé
#this should be the actual params of the controller
@params = {:user_or_id => user_or_id, :object => object}.merge(opts)
return unless Diaspora::WebSocket.is_connected?(user_id)
@_request = SocketRequest.new({})
Maxwell Salzberg
a validé
Diaspora::WebSocket.queue_to_user(user_id, action_hash(user, object, opts))
end
def user_id
if @params[:user_or_id].instance_of?(Fixnum)
@user_id ||= @params[:user_or_id]
else
@user_id ||= @params[:user_or_id].id
end
end
def user
@user ||= ((@params[:user_or_id].instance_of? User )? @params[:user_or_id] : User.find(user_id))
end
def url_options
{:host => "#{AppConfig[:pod_uri].host}:#{AppConfig[:pod_uri].port}"}
end
Maxwell Salzberg
a validé
def all_aspects
@all_aspects ||= user.aspects
class SocketRequest < ActionDispatch::Request
def format
'socket'
end
end