vines 0.3.2 → 0.4.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 +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
|