vines 0.3.2 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README +5 -9
- data/Rakefile +11 -9
- data/conf/config.rb +30 -4
- data/lib/vines/cluster/connection.rb +26 -0
- data/lib/vines/cluster/publisher.rb +55 -0
- data/lib/vines/cluster/pubsub.rb +92 -0
- data/lib/vines/cluster/sessions.rb +125 -0
- data/lib/vines/cluster/subscriber.rb +108 -0
- data/lib/vines/cluster.rb +246 -0
- data/lib/vines/command/init.rb +21 -24
- data/lib/vines/config/host.rb +48 -8
- data/lib/vines/config/port.rb +5 -0
- data/lib/vines/config/pubsub.rb +108 -0
- data/lib/vines/config.rb +74 -20
- data/lib/vines/jid.rb +14 -0
- data/lib/vines/router.rb +69 -55
- data/lib/vines/stanza/iq/disco_info.rb +22 -9
- data/lib/vines/stanza/iq/disco_items.rb +6 -3
- data/lib/vines/stanza/iq/ping.rb +1 -1
- data/lib/vines/stanza/iq/private_storage.rb +4 -8
- data/lib/vines/stanza/iq/roster.rb +6 -14
- data/lib/vines/stanza/iq/session.rb +2 -7
- data/lib/vines/stanza/iq/vcard.rb +4 -6
- data/lib/vines/stanza/iq/version.rb +1 -1
- data/lib/vines/stanza/iq.rb +8 -10
- data/lib/vines/stanza/presence/subscribe.rb +3 -11
- data/lib/vines/stanza/presence/subscribed.rb +16 -29
- data/lib/vines/stanza/presence/unsubscribe.rb +3 -15
- data/lib/vines/stanza/presence/unsubscribed.rb +3 -16
- data/lib/vines/stanza/presence.rb +30 -0
- data/lib/vines/stanza/pubsub/create.rb +39 -0
- data/lib/vines/stanza/pubsub/delete.rb +41 -0
- data/lib/vines/stanza/pubsub/publish.rb +66 -0
- data/lib/vines/stanza/pubsub/subscribe.rb +44 -0
- data/lib/vines/stanza/pubsub/unsubscribe.rb +30 -0
- data/lib/vines/stanza/pubsub.rb +22 -0
- data/lib/vines/stanza.rb +72 -22
- data/lib/vines/storage/couchdb.rb +46 -65
- data/lib/vines/storage/local.rb +20 -14
- data/lib/vines/storage/mongodb.rb +132 -0
- data/lib/vines/storage/null.rb +39 -0
- data/lib/vines/storage/redis.rb +61 -68
- data/lib/vines/storage/sql.rb +73 -69
- data/lib/vines/storage.rb +1 -1
- data/lib/vines/stream/client/bind.rb +2 -2
- data/lib/vines/stream/client/session.rb +71 -16
- data/lib/vines/stream/component/handshake.rb +1 -0
- data/lib/vines/stream/component/ready.rb +2 -2
- data/lib/vines/stream/http/session.rb +2 -0
- data/lib/vines/stream/http.rb +0 -6
- data/lib/vines/stream/server/final_restart.rb +1 -0
- data/lib/vines/stream/server/outbound/final_features.rb +1 -0
- data/lib/vines/stream/server/ready.rb +6 -2
- data/lib/vines/stream/server.rb +4 -3
- data/lib/vines/stream.rb +10 -6
- data/lib/vines/version.rb +1 -1
- data/lib/vines.rb +48 -22
- data/test/cluster/publisher_test.rb +45 -0
- data/test/cluster/sessions_test.rb +54 -0
- data/test/cluster/subscriber_test.rb +94 -0
- data/test/config/host_test.rb +100 -21
- data/test/config/pubsub_test.rb +181 -0
- data/test/config_test.rb +225 -43
- data/test/jid_test.rb +7 -0
- data/test/router_test.rb +181 -9
- data/test/stanza/iq/disco_info_test.rb +8 -6
- data/test/stanza/iq/disco_items_test.rb +3 -3
- data/test/stanza/iq/private_storage_test.rb +8 -19
- data/test/stanza/iq/roster_test.rb +1 -1
- data/test/stanza/iq/session_test.rb +3 -6
- data/test/stanza/iq/vcard_test.rb +6 -2
- data/test/stanza/iq/version_test.rb +3 -2
- data/test/stanza/iq_test.rb +5 -5
- data/test/stanza/message_test.rb +3 -2
- data/test/stanza/presence/probe_test.rb +2 -1
- data/test/stanza/pubsub/create_test.rb +138 -0
- data/test/stanza/pubsub/delete_test.rb +142 -0
- data/test/stanza/pubsub/publish_test.rb +373 -0
- data/test/stanza/pubsub/subscribe_test.rb +186 -0
- data/test/stanza/pubsub/unsubscribe_test.rb +179 -0
- data/test/stanza_test.rb +2 -1
- data/test/storage/local_test.rb +26 -25
- data/test/storage/mock_mongo.rb +40 -0
- data/test/storage/mock_redis.rb +98 -0
- data/test/storage/mongodb_test.rb +81 -0
- data/test/storage/null_test.rb +30 -0
- data/test/storage/redis_test.rb +3 -36
- data/test/stream/component/handshake_test.rb +4 -0
- data/test/stream/component/ready_test.rb +2 -1
- data/test/stream/server/ready_test.rb +7 -1
- data/web/404.html +5 -3
- data/web/chat/coffeescripts/chat.coffee +9 -5
- data/web/chat/javascripts/app.js +1 -1
- data/web/chat/javascripts/chat.js +14 -8
- data/web/chat/stylesheets/chat.css +4 -1
- data/web/lib/coffeescripts/button.coffee +9 -5
- data/web/lib/coffeescripts/filter.coffee +1 -1
- data/web/lib/coffeescripts/login.coffee +14 -1
- data/web/lib/coffeescripts/session.coffee +8 -11
- data/web/lib/images/dark-gray.png +0 -0
- data/web/lib/images/light-gray.png +0 -0
- data/web/lib/images/logo-large.png +0 -0
- data/web/lib/images/logo-small.png +0 -0
- data/web/lib/images/white.png +0 -0
- data/web/lib/javascripts/base.js +9 -8
- data/web/lib/javascripts/button.js +20 -12
- data/web/lib/javascripts/filter.js +1 -1
- data/web/lib/javascripts/icons.js +7 -1
- data/web/lib/javascripts/jquery.js +4 -4
- data/web/lib/javascripts/login.js +16 -2
- data/web/lib/javascripts/raphael.js +5 -7
- data/web/lib/javascripts/session.js +10 -14
- data/web/lib/stylesheets/base.css +7 -11
- data/web/lib/stylesheets/login.css +31 -27
- metadata +100 -34
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vines
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,22 +9,22 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2012-01-30 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activerecord
|
16
|
-
requirement: &
|
16
|
+
requirement: &70316966821400 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 3.1
|
21
|
+
version: 3.2.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70316966821400
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: bcrypt-ruby
|
27
|
-
requirement: &
|
27
|
+
requirement: &70316966820920 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,43 +32,43 @@ dependencies:
|
|
32
32
|
version: 3.0.1
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70316966820920
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: em-http-request
|
38
|
-
requirement: &
|
38
|
+
requirement: &70316966820460 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version: 0.
|
43
|
+
version: 1.0.1
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70316966820460
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
|
-
name: em-
|
49
|
-
requirement: &
|
48
|
+
name: em-hiredis
|
49
|
+
requirement: &70316966820000 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.
|
54
|
+
version: 0.1.0
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70316966820000
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: eventmachine
|
60
|
-
requirement: &
|
60
|
+
requirement: &70316966819540 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
|
-
- -
|
63
|
+
- - ! '>='
|
64
64
|
- !ruby/object:Gem::Version
|
65
65
|
version: 0.12.10
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70316966819540
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: http_parser.rb
|
71
|
-
requirement: &
|
71
|
+
requirement: &70316966819080 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ~>
|
@@ -76,10 +76,32 @@ dependencies:
|
|
76
76
|
version: 0.5.3
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70316966819080
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: mongo
|
82
|
+
requirement: &70316966818620 !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ~>
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: 1.5.2
|
88
|
+
type: :runtime
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: *70316966818620
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
name: bson_ext
|
93
|
+
requirement: &70316966818160 !ruby/object:Gem::Requirement
|
94
|
+
none: false
|
95
|
+
requirements:
|
96
|
+
- - ~>
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: 1.5.2
|
99
|
+
type: :runtime
|
100
|
+
prerelease: false
|
101
|
+
version_requirements: *70316966818160
|
80
102
|
- !ruby/object:Gem::Dependency
|
81
103
|
name: net-ldap
|
82
|
-
requirement: &
|
104
|
+
requirement: &70316966817700 !ruby/object:Gem::Requirement
|
83
105
|
none: false
|
84
106
|
requirements:
|
85
107
|
- - ~>
|
@@ -87,10 +109,10 @@ dependencies:
|
|
87
109
|
version: 0.2.2
|
88
110
|
type: :runtime
|
89
111
|
prerelease: false
|
90
|
-
version_requirements: *
|
112
|
+
version_requirements: *70316966817700
|
91
113
|
- !ruby/object:Gem::Dependency
|
92
114
|
name: nokogiri
|
93
|
-
requirement: &
|
115
|
+
requirement: &70316966817240 !ruby/object:Gem::Requirement
|
94
116
|
none: false
|
95
117
|
requirements:
|
96
118
|
- - ~>
|
@@ -98,10 +120,10 @@ dependencies:
|
|
98
120
|
version: 1.4.7
|
99
121
|
type: :runtime
|
100
122
|
prerelease: false
|
101
|
-
version_requirements: *
|
123
|
+
version_requirements: *70316966817240
|
102
124
|
- !ruby/object:Gem::Dependency
|
103
125
|
name: minitest
|
104
|
-
requirement: &
|
126
|
+
requirement: &70316966816780 !ruby/object:Gem::Requirement
|
105
127
|
none: false
|
106
128
|
requirements:
|
107
129
|
- - =
|
@@ -109,10 +131,10 @@ dependencies:
|
|
109
131
|
version: 2.2.2
|
110
132
|
type: :development
|
111
133
|
prerelease: false
|
112
|
-
version_requirements: *
|
134
|
+
version_requirements: *70316966816780
|
113
135
|
- !ruby/object:Gem::Dependency
|
114
136
|
name: rake
|
115
|
-
requirement: &
|
137
|
+
requirement: &70316966816400 !ruby/object:Gem::Requirement
|
116
138
|
none: false
|
117
139
|
requirements:
|
118
140
|
- - ! '>='
|
@@ -120,10 +142,10 @@ dependencies:
|
|
120
142
|
version: '0'
|
121
143
|
type: :development
|
122
144
|
prerelease: false
|
123
|
-
version_requirements: *
|
145
|
+
version_requirements: *70316966816400
|
124
146
|
- !ruby/object:Gem::Dependency
|
125
147
|
name: sqlite3
|
126
|
-
requirement: &
|
148
|
+
requirement: &70316966815980 !ruby/object:Gem::Requirement
|
127
149
|
none: false
|
128
150
|
requirements:
|
129
151
|
- - ! '>='
|
@@ -131,18 +153,18 @@ dependencies:
|
|
131
153
|
version: '0'
|
132
154
|
type: :development
|
133
155
|
prerelease: false
|
134
|
-
version_requirements: *
|
156
|
+
version_requirements: *70316966815980
|
135
157
|
description: ! 'Vines is an XMPP chat server that supports thousands of
|
136
158
|
|
137
159
|
simultaneous connections by using EventMachine for asynchronous IO. User data
|
138
160
|
|
139
|
-
is stored in a SQL database, CouchDB, Redis, the file system, or a
|
161
|
+
is stored in a SQL database, CouchDB, MongoDB, Redis, the file system, or a
|
140
162
|
|
141
|
-
implementation that you provide. LDAP authentication can be used
|
163
|
+
custom storage implementation that you provide. LDAP authentication can be used
|
142
164
|
|
143
|
-
and passwords aren''t stored in the chat database. SSL encryption
|
165
|
+
so user names and passwords aren''t stored in the chat database. SSL encryption
|
144
166
|
|
145
|
-
all client and server connections.'
|
167
|
+
is mandatory on all client and server connections.'
|
146
168
|
email:
|
147
169
|
- david@negativecode.com
|
148
170
|
executables:
|
@@ -154,6 +176,12 @@ files:
|
|
154
176
|
- Rakefile
|
155
177
|
- README
|
156
178
|
- bin/vines
|
179
|
+
- lib/vines/cluster/connection.rb
|
180
|
+
- lib/vines/cluster/publisher.rb
|
181
|
+
- lib/vines/cluster/pubsub.rb
|
182
|
+
- lib/vines/cluster/sessions.rb
|
183
|
+
- lib/vines/cluster/subscriber.rb
|
184
|
+
- lib/vines/cluster.rb
|
157
185
|
- lib/vines/command/bcrypt.rb
|
158
186
|
- lib/vines/command/cert.rb
|
159
187
|
- lib/vines/command/init.rb
|
@@ -164,6 +192,7 @@ files:
|
|
164
192
|
- lib/vines/command/stop.rb
|
165
193
|
- lib/vines/config/host.rb
|
166
194
|
- lib/vines/config/port.rb
|
195
|
+
- lib/vines/config/pubsub.rb
|
167
196
|
- lib/vines/config.rb
|
168
197
|
- lib/vines/contact.rb
|
169
198
|
- lib/vines/daemon.rb
|
@@ -194,10 +223,18 @@ files:
|
|
194
223
|
- lib/vines/stanza/presence/unsubscribe.rb
|
195
224
|
- lib/vines/stanza/presence/unsubscribed.rb
|
196
225
|
- lib/vines/stanza/presence.rb
|
226
|
+
- lib/vines/stanza/pubsub/create.rb
|
227
|
+
- lib/vines/stanza/pubsub/delete.rb
|
228
|
+
- lib/vines/stanza/pubsub/publish.rb
|
229
|
+
- lib/vines/stanza/pubsub/subscribe.rb
|
230
|
+
- lib/vines/stanza/pubsub/unsubscribe.rb
|
231
|
+
- lib/vines/stanza/pubsub.rb
|
197
232
|
- lib/vines/stanza.rb
|
198
233
|
- lib/vines/storage/couchdb.rb
|
199
234
|
- lib/vines/storage/ldap.rb
|
200
235
|
- lib/vines/storage/local.rb
|
236
|
+
- lib/vines/storage/mongodb.rb
|
237
|
+
- lib/vines/storage/null.rb
|
201
238
|
- lib/vines/storage/redis.rb
|
202
239
|
- lib/vines/storage/sql.rb
|
203
240
|
- lib/vines/storage.rb
|
@@ -272,9 +309,12 @@ files:
|
|
272
309
|
- web/lib/coffeescripts/router.coffee
|
273
310
|
- web/lib/coffeescripts/session.coffee
|
274
311
|
- web/lib/coffeescripts/transfer.coffee
|
312
|
+
- web/lib/images/dark-gray.png
|
275
313
|
- web/lib/images/default-user.png
|
314
|
+
- web/lib/images/light-gray.png
|
276
315
|
- web/lib/images/logo-large.png
|
277
316
|
- web/lib/images/logo-small.png
|
317
|
+
- web/lib/images/white.png
|
278
318
|
- web/lib/javascripts/base.js
|
279
319
|
- web/lib/javascripts/button.js
|
280
320
|
- web/lib/javascripts/contact.js
|
@@ -294,7 +334,11 @@ files:
|
|
294
334
|
- web/lib/javascripts/transfer.js
|
295
335
|
- web/lib/stylesheets/base.css
|
296
336
|
- web/lib/stylesheets/login.css
|
337
|
+
- test/cluster/publisher_test.rb
|
338
|
+
- test/cluster/sessions_test.rb
|
339
|
+
- test/cluster/subscriber_test.rb
|
297
340
|
- test/config/host_test.rb
|
341
|
+
- test/config/pubsub_test.rb
|
298
342
|
- test/config_test.rb
|
299
343
|
- test/contact_test.rb
|
300
344
|
- test/error_test.rb
|
@@ -314,10 +358,19 @@ files:
|
|
314
358
|
- test/stanza/message_test.rb
|
315
359
|
- test/stanza/presence/probe_test.rb
|
316
360
|
- test/stanza/presence/subscribe_test.rb
|
361
|
+
- test/stanza/pubsub/create_test.rb
|
362
|
+
- test/stanza/pubsub/delete_test.rb
|
363
|
+
- test/stanza/pubsub/publish_test.rb
|
364
|
+
- test/stanza/pubsub/subscribe_test.rb
|
365
|
+
- test/stanza/pubsub/unsubscribe_test.rb
|
317
366
|
- test/stanza_test.rb
|
318
367
|
- test/storage/couchdb_test.rb
|
319
368
|
- test/storage/ldap_test.rb
|
320
369
|
- test/storage/local_test.rb
|
370
|
+
- test/storage/mock_mongo.rb
|
371
|
+
- test/storage/mock_redis.rb
|
372
|
+
- test/storage/mongodb_test.rb
|
373
|
+
- test/storage/null_test.rb
|
321
374
|
- test/storage/redis_test.rb
|
322
375
|
- test/storage/sql_test.rb
|
323
376
|
- test/storage/storage_tests.rb
|
@@ -338,7 +391,7 @@ files:
|
|
338
391
|
- test/stream/server/ready_test.rb
|
339
392
|
- test/token_bucket_test.rb
|
340
393
|
- test/user_test.rb
|
341
|
-
homepage: http://www.getvines.
|
394
|
+
homepage: http://www.getvines.org
|
342
395
|
licenses: []
|
343
396
|
post_install_message:
|
344
397
|
rdoc_options: []
|
@@ -363,7 +416,11 @@ signing_key:
|
|
363
416
|
specification_version: 3
|
364
417
|
summary: Vines is an XMPP chat server that's easy to install and run.
|
365
418
|
test_files:
|
419
|
+
- test/cluster/publisher_test.rb
|
420
|
+
- test/cluster/sessions_test.rb
|
421
|
+
- test/cluster/subscriber_test.rb
|
366
422
|
- test/config/host_test.rb
|
423
|
+
- test/config/pubsub_test.rb
|
367
424
|
- test/config_test.rb
|
368
425
|
- test/contact_test.rb
|
369
426
|
- test/error_test.rb
|
@@ -383,10 +440,19 @@ test_files:
|
|
383
440
|
- test/stanza/message_test.rb
|
384
441
|
- test/stanza/presence/probe_test.rb
|
385
442
|
- test/stanza/presence/subscribe_test.rb
|
443
|
+
- test/stanza/pubsub/create_test.rb
|
444
|
+
- test/stanza/pubsub/delete_test.rb
|
445
|
+
- test/stanza/pubsub/publish_test.rb
|
446
|
+
- test/stanza/pubsub/subscribe_test.rb
|
447
|
+
- test/stanza/pubsub/unsubscribe_test.rb
|
386
448
|
- test/stanza_test.rb
|
387
449
|
- test/storage/couchdb_test.rb
|
388
450
|
- test/storage/ldap_test.rb
|
389
451
|
- test/storage/local_test.rb
|
452
|
+
- test/storage/mock_mongo.rb
|
453
|
+
- test/storage/mock_redis.rb
|
454
|
+
- test/storage/mongodb_test.rb
|
455
|
+
- test/storage/null_test.rb
|
390
456
|
- test/storage/redis_test.rb
|
391
457
|
- test/storage/sql_test.rb
|
392
458
|
- test/storage/storage_tests.rb
|