Minor code style fixes

master
David Barragán Merino 2015-11-06 12:05:24 +01:00
parent 13fde387ec
commit 35e1e41d3a
3 changed files with 31 additions and 26 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
*.swp
node_modules/ node_modules/
npm-debug.log npm-debug.log
config.json config.json

View File

@ -4,47 +4,49 @@ SubscriptionManager = require('./subscription').SubscriptionManager
clients = {} clients = {}
class Client class Client
constructor: (@ws) -> constructor: (@ws) ->
@id = uuid.v4() @.id = uuid.v4()
@handleEvents() @.handleEvents()
handleEvents: () -> handleEvents: () ->
@ws.on 'message', @handleMessage.bind(@) @ws.on 'message', @.handleMessage.bind(@)
handleMessage: (message) -> handleMessage: (message) ->
msg = JSON.parse(message) msg = JSON.parse(message)
if msg.cmd == 'auth' if msg.cmd == 'auth'
@auth(msg.data) @.auth(msg.data)
else if msg.cmd == 'subscribe' else if msg.cmd == 'subscribe'
@addSubscription(msg.routing_key) @.addSubscription(msg.routing_key)
else if msg.cmd == 'unsubscribe' else if msg.cmd == 'unsubscribe'
@removeSubscription(msg.routing_key) @.removeSubscription(msg.routing_key)
auth: (auth) -> auth: (auth) ->
if auth.token and auth.sessionId and signing.verify(auth.token) if auth.token and auth.sessionId and signing.verify(auth.token)
@auth = auth @.auth = auth
addSubscription: (routing_key) -> addSubscription: (routing_key) ->
if @auth if @.auth
if !@subscriptionManager if !@.subscriptionManager
@subscriptionManager = new SubscriptionManager(@id, @auth, @ws) @.subscriptionManager = new SubscriptionManager(@.id, @.auth, @ws)
@subscriptionManager.add(routing_key) @.subscriptionManager.add(routing_key)
close: () -> close: () ->
if @subscriptionManager if @.subscriptionManager
@subscriptionManager.destroy() @.subscriptionManager.destroy()
removeSubscription: (routing_key) -> removeSubscription: (routing_key) ->
if @subscriptionManager if @.subscriptionManager
@subscriptionManager.remove(routing_key) @.subscriptionManager.remove(routing_key)
exports.createClient = (ws) -> exports.createClient = (ws) ->
client = new Client(ws) client = new Client(ws)
clients[client.id] = client clients[client.id] = client
client.ws.on 'close', (() -> client.ws.on 'close', (() ->
@.close() @.close()
delete clients[@id] delete clients[@.id]
).bind(client) ).bind(client)

View File

@ -1,5 +1,6 @@
queue = require('./rabbit') queue = require('./rabbit')
class Subscription class Subscription
constructor: (@client_id, @auth, @ws, @routing_key) -> constructor: (@client_id, @auth, @ws, @routing_key) ->
@ -16,31 +17,32 @@ class Subscription
@ws.send clientMsgStr @ws.send clientMsgStr
start: () -> start: () ->
queue.subscribe(@client_id, @routing_key, @handleMessage.bind(@)) queue.subscribe(@client_id, @routing_key, @.handleMessage.bind(@))
stop: () -> stop: () ->
queue.unsubscribe(@client_id, @routing_key) queue.unsubscribe(@client_id, @routing_key)
class SubscriptionManager class SubscriptionManager
constructor: (@client_id, @auth, @ws) -> constructor: (@client_id, @auth, @ws) ->
@subscriptions = {} @.subscriptions = {}
add: (routing_key) -> add: (routing_key) ->
if !@subscriptions[routing_key] if !@.subscriptions[routing_key]
@subscriptions[routing_key] = {} @.subscriptions[routing_key] = {}
else else
@subscriptions[routing_key].stop() @.subscriptions[routing_key].stop()
@subscriptions[routing_key] = new Subscription(@client_id, @auth, @ws, routing_key) @.subscriptions[routing_key] = new Subscription(@client_id, @auth, @ws, routing_key)
@subscriptions[routing_key].start() @.subscriptions[routing_key].start()
remove: (routing_key) -> remove: (routing_key) ->
@subscriptions[routing_key].stop() @.subscriptions[routing_key].stop()
delete @subscriptions[routing_key] delete @.subscriptions[routing_key]
destroy: () -> destroy: () ->
@subscriptions = {} @.subscriptions = {}
queue.destroy(@client_id) queue.destroy(@client_id)
exports.SubscriptionManager = SubscriptionManager exports.SubscriptionManager = SubscriptionManager