{:uriI"file:///Users/matthewchang/work/call9/push_routes/vendor/assets/javascripts/push_routes_socket_io.js.erb?type=application/javascript&id=487ac987834fc035b9527b18d6e2496c5637b8fe9d2393494a2da54dc0eef790:ET:load_pathI"I/Users/matthewchang/work/call9/push_routes/vendor/assets/javascripts;T: filenameI"f/Users/matthewchang/work/call9/push_routes/vendor/assets/javascripts/push_routes_socket_io.js.erb;T: nameI"push_routes_socket_io;T:logical_pathI"push_routes_socket_io.js;T:content_typeI"application/javascript;T: sourceI"L//TODO: configurable accross the application var PushRoutes = { socket: null, init: function(server,user_id,auth_token,callback) { var self = this; self.socket = io.connect(server, {secure: true}); self.socket.on('connect', function() { self.socket.connected = true; console.log("Connecting Socket"); self.socket.on('disconnect',function() { self.socket.connected = false; console.log('Socket Disconnected'); }); self.socket.on('unauthorized', function(err){ console.log("Authentication was rejected:", err.message); }); self.socket.on('authenticated', function() { console.log("Authentication successful"); if(callback) { callback(); } }); self.socket.emit("authentication",{user_id: user_id, authentication_token: auth_token}, function(error,message) { console.log(error); console.log(message); }); }) }, subscriptions: {}, subscribe: function(route,on_update) { this.subscriptions[route] = on_update; this.socket.removeAllListeners(route); this.register_subscription(route,on_update); }, register_subscription: function(route,on_update) { if(this.socket && this.socket.connected) { this.socket.on(route,function(message) { on_update(message); }); this.socket.emit("subscribe",route,function() { console.log("Subscribed to "+route); }); } else { console.log("Socket not connected"); } }, unsubscribe: function(route) { delete this.subscriptions[route]; } } ;T: metadata{ :dependencieso:Set: @hash} I"environment-version;TTI"environment-paths;TTI"rails-env;TTI"Yprocessors:type=application/javascript&file_type=application/javascript&engines=.erb;TTI"tfile-digest:///Users/matthewchang/work/call9/push_routes/vendor/assets/javascripts/push_routes_socket_io.js.erb;TTI"gprocessors:type=application/javascript&file_type=application/javascript&engines=.erb&pipeline=self;TTF: linkso;;}F: included[I"file:///Users/matthewchang/work/call9/push_routes/vendor/assets/javascripts/push_routes_socket_io.js.erb?type=application/javascript&pipeline=self&id=4a7e83d04efb40579867f5fa609331955c4e9773dfc710c06841460b6eeff149;T: charsetI" utf-8;F: digest"%_/hClaDz-: lengthiL:dependencies_digest"%*W]ؔ[t}*\9ؘ:idI"E487ac987834fc035b9527b18d6e2496c5637b8fe9d2393494a2da54dc0eef790;F: mtimel+vW