This repository was archived by the owner on Oct 19, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathchat_service.js
More file actions
59 lines (49 loc) · 2.41 KB
/
chat_service.js
File metadata and controls
59 lines (49 loc) · 2.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/* Generated by Opal 0.9.4 */
(function(Opal) {
Opal.dynamic_require_severity = "error";
var OPAL_CONFIG = { method_missing: true, arity_check: false, freezing: true, tainting: true };
var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2;
Opal.add_stubs(['$new', '$on', '$parse', '$[]', '$data', '$<<', '$id', '$call', '$send', '$to_json']);
return (function($base, $super) {
function $ChatService(){};
var self = $ChatService = $klass($base, $super, 'ChatService', $ChatService);
var def = self.$$proto, $scope = self.$$scope, TMP_1;
def.block = def.messages = def.user_id = def.socket = nil;
Opal.defn(self, '$initialize', TMP_1 = function() {
var $a, $b, TMP_2, self = this, $iter = TMP_1.$$p, block = $iter || nil;
TMP_1.$$p = null;
self.block = block;
self.messages = [];
self.user_id = nil;
return self.socket = ($a = ($b = (($scope.get('Browser')).$$scope.get('Socket'))).$new, $a.$$p = (TMP_2 = function(socket){var self = TMP_2.$$s || this, $a, $b, TMP_3;
if (socket == null) socket = nil;
return ($a = ($b = socket).$on, $a.$$p = (TMP_3 = function(e){var self = TMP_3.$$s || this, $a, data = nil;
if (self.messages == null) self.messages = nil;
if (self.block == null) self.block = nil;
if (e == null) e = nil;
data = $scope.get('JSON').$parse(unescape($scope.get('JSON').$parse(e.$data())['$[]']("text")));
self.messages['$<<'](data);
if ((($a = self.$id()) !== nil && (!$a.$$is_boolean || $a == true))) {
return self.block.$call([data])
} else {
return nil
};}, TMP_3.$$s = self, TMP_3), $a).call($b, "message")}, TMP_2.$$s = self, TMP_2), $a).call($b, "wss://ruby-websockets-chat.herokuapp.com/");
});
Opal.defn(self, '$login', function(user_id) {
var self = this;
self.user_id = user_id;
return self.block.$call(self.messages);
});
Opal.defn(self, '$id', function() {
var self = this;
return self.user_id;
});
return (Opal.defn(self, '$send', function(data) {
var self = this;
if (data == null) {
data = $hash2([], {})
}
return self.socket.$send($hash2(["handle", "text"], {"handle": self.$id(), "text": escape(data.$to_json())}).$to_json());
}), nil) && 'send';
})($scope.base, null)
})(Opal);