vines 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +1 -1
- data/Rakefile +10 -10
- data/conf/certs/ca-bundle.crt +112 -378
- data/conf/config.rb +18 -9
- data/lib/vines.rb +8 -1
- data/lib/vines/command/cert.rb +2 -1
- data/lib/vines/command/init.rb +11 -0
- data/lib/vines/command/ldap.rb +6 -3
- data/lib/vines/command/schema.rb +1 -1
- data/lib/vines/config.rb +57 -146
- data/lib/vines/config/host.rb +85 -0
- data/lib/vines/config/port.rb +111 -0
- data/lib/vines/contact.rb +1 -1
- data/lib/vines/jid.rb +26 -4
- data/lib/vines/kit.rb +6 -0
- data/lib/vines/log.rb +24 -0
- data/lib/vines/router.rb +70 -38
- data/lib/vines/stanza.rb +45 -8
- data/lib/vines/stanza/iq.rb +3 -3
- data/lib/vines/stanza/iq/disco_info.rb +5 -1
- data/lib/vines/stanza/iq/disco_items.rb +3 -0
- data/lib/vines/stanza/iq/private_storage.rb +9 -5
- data/lib/vines/stanza/iq/roster.rb +11 -12
- data/lib/vines/stanza/iq/vcard.rb +4 -4
- data/lib/vines/stanza/iq/version.rb +25 -0
- data/lib/vines/stanza/message.rb +4 -5
- data/lib/vines/stanza/presence.rb +20 -18
- data/lib/vines/stanza/presence/probe.rb +3 -4
- data/lib/vines/stanza/presence/subscribe.rb +4 -3
- data/lib/vines/stanza/presence/subscribed.rb +6 -5
- data/lib/vines/stanza/presence/unsubscribe.rb +4 -4
- data/lib/vines/stanza/presence/unsubscribed.rb +4 -3
- data/lib/vines/storage/couchdb.rb +3 -3
- data/lib/vines/storage/ldap.rb +19 -8
- data/lib/vines/storage/local.rb +23 -12
- data/lib/vines/storage/redis.rb +3 -3
- data/lib/vines/storage/sql.rb +5 -5
- data/lib/vines/stream.rb +40 -6
- data/lib/vines/stream/client.rb +5 -6
- data/lib/vines/stream/client/auth.rb +3 -2
- data/lib/vines/stream/client/bind.rb +2 -2
- data/lib/vines/stream/client/bind_restart.rb +1 -2
- data/lib/vines/stream/client/ready.rb +2 -0
- data/lib/vines/stream/client/session.rb +13 -4
- data/lib/vines/stream/client/tls.rb +1 -0
- data/lib/vines/stream/component.rb +6 -5
- data/lib/vines/stream/component/ready.rb +5 -6
- data/lib/vines/stream/http.rb +10 -4
- data/lib/vines/stream/http/request.rb +23 -2
- data/lib/vines/stream/server.rb +13 -11
- data/lib/vines/stream/server/outbound/auth_result.rb +1 -0
- data/lib/vines/stream/server/outbound/tls_result.rb +1 -0
- data/lib/vines/stream/server/ready.rb +2 -2
- data/lib/vines/user.rb +2 -1
- data/lib/vines/version.rb +1 -1
- data/test/config/host_test.rb +292 -0
- data/test/config_test.rb +244 -103
- data/test/contact_test.rb +7 -1
- data/test/jid_test.rb +48 -0
- data/test/router_test.rb +16 -47
- data/test/stanza/iq/disco_info_test.rb +76 -0
- data/test/stanza/iq/disco_items_test.rb +47 -0
- data/test/stanza/iq/private_storage_test.rb +33 -10
- data/test/stanza/iq/roster_test.rb +15 -5
- data/test/stanza/iq/vcard_test.rb +8 -25
- data/test/stanza/iq/version_test.rb +62 -0
- data/test/stanza/iq_test.rb +13 -10
- data/test/stanza/message_test.rb +16 -24
- data/test/stanza/presence/probe_test.rb +52 -0
- data/test/stanza/presence/subscribe_test.rb +1 -5
- data/test/stanza_test.rb +77 -0
- data/test/stream/client/auth_test.rb +1 -0
- data/test/stream/client/ready_test.rb +2 -0
- data/test/stream/client/session_test.rb +7 -2
- data/test/stream/component/ready_test.rb +19 -36
- data/test/stream/http/request_test.rb +22 -2
- data/test/stream/server/ready_test.rb +14 -21
- data/web/404.html +9 -3
- data/web/chat/index.html +2 -2
- data/web/chat/javascripts/app.js +1 -1
- data/web/chat/stylesheets/chat.css +4 -9
- data/web/lib/coffeescripts/layout.coffee +2 -2
- data/web/{chat → lib}/coffeescripts/logout.coffee +0 -0
- data/web/lib/coffeescripts/notification.coffee +14 -0
- data/web/lib/coffeescripts/session.coffee +28 -24
- data/web/lib/coffeescripts/transfer.coffee +37 -34
- data/web/lib/javascripts/base.js +8 -8
- data/web/lib/javascripts/icons.js +3 -0
- data/web/lib/javascripts/jquery.js +4 -18
- data/web/lib/javascripts/layout.js +2 -2
- data/web/{chat → lib}/javascripts/logout.js +0 -0
- data/web/lib/javascripts/notification.js +26 -0
- data/web/lib/javascripts/session.js +20 -16
- data/web/lib/javascripts/transfer.js +45 -55
- data/web/lib/stylesheets/base.css +45 -9
- metadata +31 -15
@@ -16,10 +16,10 @@ Transfer = (function() {
|
|
16
16
|
this.sent = 0;
|
17
17
|
}
|
18
18
|
Transfer.prototype.start = function() {
|
19
|
-
var
|
19
|
+
var node;
|
20
20
|
node = $("<iq id=\"" + (this.session.uniqueId()) + "\" to=\"" + this.to + "\" type=\"set\">\n <si xmlns=\"http://jabber.org/protocol/si\" id=\"" + (this.session.uniqueId()) + "\" profile=\"http://jabber.org/protocol/si/profile/file-transfer\">\n <file xmlns=\"http://jabber.org/protocol/si/profile/file-transfer\" name=\"\" size=\"" + this.file.size + "\"/>\n <feature xmlns=\"http://jabber.org/protocol/feature-neg\">\n <x xmlns=\"jabber:x:data\" type=\"form\">\n <field var=\"stream-method\" type=\"list-single\">\n <option><value>http://jabber.org/protocol/ibb</value></option>\n </field>\n </x>\n </feature>\n </si>\n</iq>");
|
21
21
|
$('file', node).attr('name', this.file.name);
|
22
|
-
|
22
|
+
return this.session.sendIQ(node.get(0), __bind(function(result) {
|
23
23
|
var m, methods, ok;
|
24
24
|
methods = $('si feature x field[var="stream-method"] value', result);
|
25
25
|
ok = ((function() {
|
@@ -36,45 +36,42 @@ Transfer = (function() {
|
|
36
36
|
if (ok) {
|
37
37
|
return this.open();
|
38
38
|
}
|
39
|
-
}, this);
|
40
|
-
return this.session.sendIQ(node.get(0), callback);
|
39
|
+
}, this));
|
41
40
|
};
|
42
41
|
Transfer.prototype.open = function() {
|
43
|
-
var
|
42
|
+
var node;
|
44
43
|
node = $("<iq id=\"" + (this.session.uniqueId()) + "\" to=\"" + this.to + "\" type=\"set\">\n <open xmlns=\"http://jabber.org/protocol/ibb\" sid=\"" + this.sid + "\" block-size=\"4096\"/>\n</iq>");
|
45
|
-
|
44
|
+
return this.session.sendIQ(node.get(0), __bind(function(result) {
|
46
45
|
if (this.ok(result)) {
|
47
46
|
this.opened = true;
|
48
|
-
return this.
|
49
|
-
return this.sendChunk();
|
50
|
-
}, this));
|
47
|
+
return this.sendChunk();
|
51
48
|
}
|
52
|
-
}, this);
|
53
|
-
return this.session.sendIQ(node.get(0), callback);
|
49
|
+
}, this));
|
54
50
|
};
|
55
51
|
Transfer.prototype.sendChunk = function() {
|
56
|
-
var callback, chunk, node;
|
57
52
|
if (this.closed) {
|
58
53
|
return;
|
59
54
|
}
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
node = $("<iq id=\"" + (this.session.uniqueId()) + "\" to=\"" + this.to + "\" type=\"set\">\n <data xmlns=\"http://jabber.org/protocol/ibb\" sid=\"" + this.sid + "\" seq=\"" + (this.seq++) + "\">" + chunk + "</data>\n</iq>");
|
65
|
-
if (this.seq > 65535) {
|
66
|
-
this.seq = 0;
|
67
|
-
}
|
68
|
-
callback = __bind(function(result) {
|
69
|
-
var pct;
|
70
|
-
if (!this.ok(result)) {
|
55
|
+
return this.chunks.chunk(__bind(function(chunk) {
|
56
|
+
var node;
|
57
|
+
if (!chunk) {
|
58
|
+
this.close();
|
71
59
|
return;
|
72
60
|
}
|
73
|
-
|
74
|
-
this.
|
75
|
-
|
76
|
-
|
77
|
-
|
61
|
+
node = $("<iq id=\"" + (this.session.uniqueId()) + "\" to=\"" + this.to + "\" type=\"set\">\n <data xmlns=\"http://jabber.org/protocol/ibb\" sid=\"" + this.sid + "\" seq=\"" + (this.seq++) + "\">" + chunk + "</data>\n</iq>");
|
62
|
+
if (this.seq > 65535) {
|
63
|
+
this.seq = 0;
|
64
|
+
}
|
65
|
+
return this.session.sendIQ(node.get(0), __bind(function(result) {
|
66
|
+
var pct;
|
67
|
+
if (!this.ok(result)) {
|
68
|
+
return;
|
69
|
+
}
|
70
|
+
pct = Math.ceil(++this.sent / this.chunks.total * 100);
|
71
|
+
this.progress(pct);
|
72
|
+
return this.sendChunk();
|
73
|
+
}, this));
|
74
|
+
}, this));
|
78
75
|
};
|
79
76
|
Transfer.prototype.close = function() {
|
80
77
|
var node;
|
@@ -97,36 +94,29 @@ Transfer = (function() {
|
|
97
94
|
return $(result).attr('type') === 'result';
|
98
95
|
};
|
99
96
|
Chunks = (function() {
|
97
|
+
var CHUNK_SIZE;
|
98
|
+
CHUNK_SIZE = 3 / 4 * 4096;
|
100
99
|
function Chunks(file) {
|
101
100
|
this.file = file;
|
102
|
-
this.
|
103
|
-
this.
|
101
|
+
this.total = Math.ceil(this.file.size / CHUNK_SIZE);
|
102
|
+
this.slice = this.file.slice || this.file.webkitSlice || this.file.mozSlice;
|
103
|
+
this.pos = 0;
|
104
104
|
}
|
105
|
-
Chunks.prototype.chunk = function() {
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
if (chunk) {
|
121
|
-
_results.push(chunk);
|
122
|
-
}
|
123
|
-
}
|
124
|
-
return _results;
|
125
|
-
})();
|
126
|
-
this.total = this.chunks.length;
|
127
|
-
return callback();
|
128
|
-
}, this);
|
129
|
-
return reader.readAsBinaryString(this.file);
|
105
|
+
Chunks.prototype.chunk = function(callback) {
|
106
|
+
var chunk, end, reader, start;
|
107
|
+
start = this.pos;
|
108
|
+
end = this.pos + CHUNK_SIZE;
|
109
|
+
this.pos = end;
|
110
|
+
if (start > this.file.size) {
|
111
|
+
return callback(null);
|
112
|
+
} else {
|
113
|
+
chunk = this.slice.call(this.file, start, end);
|
114
|
+
reader = new FileReader();
|
115
|
+
reader.onload = function(event) {
|
116
|
+
return callback(btoa(event.target.result));
|
117
|
+
};
|
118
|
+
return reader.readAsBinaryString(chunk);
|
119
|
+
}
|
130
120
|
};
|
131
121
|
return Chunks;
|
132
122
|
})();
|
@@ -2,21 +2,24 @@
|
|
2
2
|
margin: 0;
|
3
3
|
padding: 0;
|
4
4
|
}
|
5
|
+
html, body {
|
6
|
+
height: 100%;
|
7
|
+
overflow: hidden;
|
8
|
+
}
|
5
9
|
html {
|
6
10
|
background: #0c1a2d;
|
7
|
-
height: 100%;
|
8
11
|
}
|
9
12
|
body {
|
10
13
|
background: #0c1a2d;
|
11
14
|
color: #222;
|
12
15
|
font-family: "Helvetica Neue", Helvetica, sans-serif;
|
13
16
|
font-size: 10pt;
|
14
|
-
height: 100%;
|
15
17
|
line-height: 20pt;
|
16
18
|
}
|
17
19
|
input[type="text"],
|
18
20
|
input[type="email"],
|
19
|
-
input[type="password"]
|
21
|
+
input[type="password"],
|
22
|
+
textarea {
|
20
23
|
border-radius: 2px;
|
21
24
|
border: none;
|
22
25
|
-webkit-box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.2);
|
@@ -26,6 +29,13 @@ input[type="password"] {
|
|
26
29
|
outline: none;
|
27
30
|
padding: 6px;
|
28
31
|
}
|
32
|
+
input[type="text"]:focus,
|
33
|
+
input[type="email"]:focus,
|
34
|
+
input[type="password"]:focus,
|
35
|
+
textarea:focus {
|
36
|
+
-webkit-box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.6);
|
37
|
+
box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.6);
|
38
|
+
}
|
29
39
|
input[type="button"],
|
30
40
|
input[type="submit"] {
|
31
41
|
background: -moz-linear-gradient(#ececec, #dcdcdc);
|
@@ -253,13 +263,24 @@ optgroup option {
|
|
253
263
|
background: rgba(0, 0, 0, .2);
|
254
264
|
}
|
255
265
|
ul.selectable li.selected {
|
256
|
-
background: #
|
257
|
-
background: -moz-linear-gradient(#
|
258
|
-
background: -o-linear-gradient(#
|
259
|
-
background: -webkit-gradient(linear, left top, left bottom, from(#
|
260
|
-
border-
|
266
|
+
background: #319be7;
|
267
|
+
background: -moz-linear-gradient(#319be7, #1b78d9);
|
268
|
+
background: -o-linear-gradient(#319be7, #1b78d9);
|
269
|
+
background: -webkit-gradient(linear, left top, left bottom, from(#319be7), to(#1b78d9));
|
270
|
+
border-top: 1px solid #148ddf;
|
271
|
+
border-bottom: 1px solid #095bba;
|
272
|
+
color: #fff;
|
273
|
+
text-shadow: -1px 1px 1px hsl(210, 51%, 45%), 0px -1px 1px hsl(210, 51%, 49%);
|
274
|
+
}
|
275
|
+
ul.selectable li.selected.secondary {
|
276
|
+
background: hsl(220, 29%, 80%);
|
277
|
+
background: -moz-linear-gradient(hsl(220, 29%, 80%), hsl(217, 25%, 69%));
|
278
|
+
background: -o-linear-gradient(hsl(220, 29%, 80%), hsl(217, 25%, 69%));
|
279
|
+
background: -webkit-gradient(linear, left top, left bottom, from(hsl(220, 29%, 80%)), to(hsl(217, 25%, 69%)));
|
280
|
+
border-top: 1px solid hsl(218, 23%, 79%);
|
281
|
+
border-bottom: 1px solid hsl(218, 20%, 65%);
|
261
282
|
color: #fff;
|
262
|
-
text-shadow:
|
283
|
+
text-shadow: -1px 1px 1px #94a1b8;
|
263
284
|
}
|
264
285
|
.column {
|
265
286
|
height: 100%;
|
@@ -339,9 +360,24 @@ form.inset .buttons {
|
|
339
360
|
text-align: right;
|
340
361
|
}
|
341
362
|
form.overlay input[type="text"],
|
363
|
+
form.overlay input[type="password"],
|
342
364
|
form.overlay input[type="email"] {
|
343
365
|
margin-bottom: 10px;
|
344
366
|
width: 228px;
|
345
367
|
position: relative;
|
346
368
|
left: 10px;
|
347
369
|
}
|
370
|
+
.notification {
|
371
|
+
background: rgba(12, 26, 45, 0.75);
|
372
|
+
border-radius: 30px;
|
373
|
+
color: #fff;
|
374
|
+
font-size: 10pt;
|
375
|
+
font-weight: bold;
|
376
|
+
padding: 5px 100px;
|
377
|
+
position: absolute;
|
378
|
+
top: 50%;
|
379
|
+
left: 50%;
|
380
|
+
text-align: center;
|
381
|
+
text-shadow: 0 1px 1px #000;
|
382
|
+
z-index: 2;
|
383
|
+
}
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: vines
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.
|
5
|
+
version: 0.3.0
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- David Graham
|
@@ -11,8 +11,7 @@ autorequire:
|
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
13
|
|
14
|
-
date: 2011-
|
15
|
-
default_executable:
|
14
|
+
date: 2011-09-28 00:00:00 Z
|
16
15
|
dependencies:
|
17
16
|
- !ruby/object:Gem::Dependency
|
18
17
|
name: activerecord
|
@@ -22,7 +21,7 @@ dependencies:
|
|
22
21
|
requirements:
|
23
22
|
- - ~>
|
24
23
|
- !ruby/object:Gem::Version
|
25
|
-
version:
|
24
|
+
version: 3.1.0
|
26
25
|
type: :runtime
|
27
26
|
version_requirements: *id001
|
28
27
|
- !ruby/object:Gem::Dependency
|
@@ -33,7 +32,7 @@ dependencies:
|
|
33
32
|
requirements:
|
34
33
|
- - ~>
|
35
34
|
- !ruby/object:Gem::Version
|
36
|
-
version:
|
35
|
+
version: 3.0.0
|
37
36
|
type: :runtime
|
38
37
|
version_requirements: *id002
|
39
38
|
- !ruby/object:Gem::Dependency
|
@@ -44,7 +43,7 @@ dependencies:
|
|
44
43
|
requirements:
|
45
44
|
- - ~>
|
46
45
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
46
|
+
version: 0.3.0
|
48
47
|
type: :runtime
|
49
48
|
version_requirements: *id003
|
50
49
|
- !ruby/object:Gem::Dependency
|
@@ -55,7 +54,7 @@ dependencies:
|
|
55
54
|
requirements:
|
56
55
|
- - ~>
|
57
56
|
- !ruby/object:Gem::Version
|
58
|
-
version:
|
57
|
+
version: 0.3.0
|
59
58
|
type: :runtime
|
60
59
|
version_requirements: *id004
|
61
60
|
- !ruby/object:Gem::Dependency
|
@@ -66,7 +65,7 @@ dependencies:
|
|
66
65
|
requirements:
|
67
66
|
- - ~>
|
68
67
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
68
|
+
version: 0.12.10
|
70
69
|
type: :runtime
|
71
70
|
version_requirements: *id005
|
72
71
|
- !ruby/object:Gem::Dependency
|
@@ -77,7 +76,7 @@ dependencies:
|
|
77
76
|
requirements:
|
78
77
|
- - ~>
|
79
78
|
- !ruby/object:Gem::Version
|
80
|
-
version:
|
79
|
+
version: 0.5.2
|
81
80
|
type: :runtime
|
82
81
|
version_requirements: *id006
|
83
82
|
- !ruby/object:Gem::Dependency
|
@@ -88,7 +87,7 @@ dependencies:
|
|
88
87
|
requirements:
|
89
88
|
- - ~>
|
90
89
|
- !ruby/object:Gem::Version
|
91
|
-
version:
|
90
|
+
version: 0.2.2
|
92
91
|
type: :runtime
|
93
92
|
version_requirements: *id007
|
94
93
|
- !ruby/object:Gem::Dependency
|
@@ -99,7 +98,7 @@ dependencies:
|
|
99
98
|
requirements:
|
100
99
|
- - ~>
|
101
100
|
- !ruby/object:Gem::Version
|
102
|
-
version:
|
101
|
+
version: 1.4.7
|
103
102
|
type: :runtime
|
104
103
|
version_requirements: *id008
|
105
104
|
- !ruby/object:Gem::Dependency
|
@@ -164,12 +163,15 @@ files:
|
|
164
163
|
- lib/vines/command/schema.rb
|
165
164
|
- lib/vines/command/start.rb
|
166
165
|
- lib/vines/command/stop.rb
|
166
|
+
- lib/vines/config/host.rb
|
167
|
+
- lib/vines/config/port.rb
|
167
168
|
- lib/vines/config.rb
|
168
169
|
- lib/vines/contact.rb
|
169
170
|
- lib/vines/daemon.rb
|
170
171
|
- lib/vines/error.rb
|
171
172
|
- lib/vines/jid.rb
|
172
173
|
- lib/vines/kit.rb
|
174
|
+
- lib/vines/log.rb
|
173
175
|
- lib/vines/router.rb
|
174
176
|
- lib/vines/stanza/iq/auth.rb
|
175
177
|
- lib/vines/stanza/iq/disco_info.rb
|
@@ -182,6 +184,7 @@ files:
|
|
182
184
|
- lib/vines/stanza/iq/roster.rb
|
183
185
|
- lib/vines/stanza/iq/session.rb
|
184
186
|
- lib/vines/stanza/iq/vcard.rb
|
187
|
+
- lib/vines/stanza/iq/version.rb
|
185
188
|
- lib/vines/stanza/iq.rb
|
186
189
|
- lib/vines/stanza/message.rb
|
187
190
|
- lib/vines/stanza/presence/error.rb
|
@@ -253,12 +256,10 @@ files:
|
|
253
256
|
- web/apple-touch-icon.png
|
254
257
|
- web/chat/coffeescripts/chat.coffee
|
255
258
|
- web/chat/coffeescripts/init.coffee
|
256
|
-
- web/chat/coffeescripts/logout.coffee
|
257
259
|
- web/chat/index.html
|
258
260
|
- web/chat/javascripts/app.js
|
259
261
|
- web/chat/javascripts/chat.js
|
260
262
|
- web/chat/javascripts/init.js
|
261
|
-
- web/chat/javascripts/logout.js
|
262
263
|
- web/chat/stylesheets/chat.css
|
263
264
|
- web/favicon.png
|
264
265
|
- web/lib/coffeescripts/button.coffee
|
@@ -266,7 +267,9 @@ files:
|
|
266
267
|
- web/lib/coffeescripts/filter.coffee
|
267
268
|
- web/lib/coffeescripts/layout.coffee
|
268
269
|
- web/lib/coffeescripts/login.coffee
|
270
|
+
- web/lib/coffeescripts/logout.coffee
|
269
271
|
- web/lib/coffeescripts/navbar.coffee
|
272
|
+
- web/lib/coffeescripts/notification.coffee
|
270
273
|
- web/lib/coffeescripts/router.coffee
|
271
274
|
- web/lib/coffeescripts/session.coffee
|
272
275
|
- web/lib/coffeescripts/transfer.coffee
|
@@ -282,7 +285,9 @@ files:
|
|
282
285
|
- web/lib/javascripts/jquery.js
|
283
286
|
- web/lib/javascripts/layout.js
|
284
287
|
- web/lib/javascripts/login.js
|
288
|
+
- web/lib/javascripts/logout.js
|
285
289
|
- web/lib/javascripts/navbar.js
|
290
|
+
- web/lib/javascripts/notification.js
|
286
291
|
- web/lib/javascripts/raphael.js
|
287
292
|
- web/lib/javascripts/router.js
|
288
293
|
- web/lib/javascripts/session.js
|
@@ -290,6 +295,7 @@ files:
|
|
290
295
|
- web/lib/javascripts/transfer.js
|
291
296
|
- web/lib/stylesheets/base.css
|
292
297
|
- web/lib/stylesheets/login.css
|
298
|
+
- test/config/host_test.rb
|
293
299
|
- test/config_test.rb
|
294
300
|
- test/contact_test.rb
|
295
301
|
- test/error_test.rb
|
@@ -298,13 +304,18 @@ files:
|
|
298
304
|
- test/kit_test.rb
|
299
305
|
- test/rake_test_loader.rb
|
300
306
|
- test/router_test.rb
|
307
|
+
- test/stanza/iq/disco_info_test.rb
|
308
|
+
- test/stanza/iq/disco_items_test.rb
|
301
309
|
- test/stanza/iq/private_storage_test.rb
|
302
310
|
- test/stanza/iq/roster_test.rb
|
303
311
|
- test/stanza/iq/session_test.rb
|
304
312
|
- test/stanza/iq/vcard_test.rb
|
313
|
+
- test/stanza/iq/version_test.rb
|
305
314
|
- test/stanza/iq_test.rb
|
306
315
|
- test/stanza/message_test.rb
|
316
|
+
- test/stanza/presence/probe_test.rb
|
307
317
|
- test/stanza/presence/subscribe_test.rb
|
318
|
+
- test/stanza_test.rb
|
308
319
|
- test/storage/couchdb_test.rb
|
309
320
|
- test/storage/ldap_test.rb
|
310
321
|
- test/storage/local_test.rb
|
@@ -328,7 +339,6 @@ files:
|
|
328
339
|
- test/stream/server/ready_test.rb
|
329
340
|
- test/token_bucket_test.rb
|
330
341
|
- test/user_test.rb
|
331
|
-
has_rdoc: true
|
332
342
|
homepage: http://www.getvines.com
|
333
343
|
licenses: []
|
334
344
|
|
@@ -352,11 +362,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
352
362
|
requirements: []
|
353
363
|
|
354
364
|
rubyforge_project:
|
355
|
-
rubygems_version: 1.
|
365
|
+
rubygems_version: 1.8.10
|
356
366
|
signing_key:
|
357
367
|
specification_version: 3
|
358
368
|
summary: Vines is an XMPP chat server that's easy to install and run.
|
359
369
|
test_files:
|
370
|
+
- test/config/host_test.rb
|
360
371
|
- test/config_test.rb
|
361
372
|
- test/contact_test.rb
|
362
373
|
- test/error_test.rb
|
@@ -365,13 +376,18 @@ test_files:
|
|
365
376
|
- test/kit_test.rb
|
366
377
|
- test/rake_test_loader.rb
|
367
378
|
- test/router_test.rb
|
379
|
+
- test/stanza/iq/disco_info_test.rb
|
380
|
+
- test/stanza/iq/disco_items_test.rb
|
368
381
|
- test/stanza/iq/private_storage_test.rb
|
369
382
|
- test/stanza/iq/roster_test.rb
|
370
383
|
- test/stanza/iq/session_test.rb
|
371
384
|
- test/stanza/iq/vcard_test.rb
|
385
|
+
- test/stanza/iq/version_test.rb
|
372
386
|
- test/stanza/iq_test.rb
|
373
387
|
- test/stanza/message_test.rb
|
388
|
+
- test/stanza/presence/probe_test.rb
|
374
389
|
- test/stanza/presence/subscribe_test.rb
|
390
|
+
- test/stanza_test.rb
|
375
391
|
- test/storage/couchdb_test.rb
|
376
392
|
- test/storage/ldap_test.rb
|
377
393
|
- test/storage/local_test.rb
|