faye 0.2.2 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of faye might be problematic. Click here for more details.
- data/History.txt +11 -0
- data/Manifest.txt +7 -0
- data/README.txt +116 -34
- data/Rakefile +6 -1
- data/build/faye-client-min.js +1 -1
- data/build/faye.js +515 -103
- data/examples/node/app.js +4 -4
- data/examples/node/client.js +23 -0
- data/examples/node/faye-client-min.js +1 -1
- data/examples/node/faye.js +515 -103
- data/examples/rack/client.rb +25 -0
- data/examples/shared/public/index.html +0 -2
- data/jake.yml +5 -2
- data/lib/faye-client-min.js +1 -1
- data/lib/faye.rb +2 -3
- data/lib/faye/channel.rb +14 -13
- data/lib/faye/client.rb +246 -0
- data/lib/faye/connection.rb +18 -17
- data/lib/faye/namespace.rb +16 -0
- data/lib/faye/rack_adapter.rb +12 -2
- data/lib/faye/server.rb +19 -20
- data/lib/faye/transport.rb +103 -0
- data/test/scenario.js +99 -0
- data/test/test_channel.rb +19 -13
- data/test/test_clients.js +177 -0
- data/test/test_server.rb +42 -0
- metadata +23 -6
data/test/test_server.rb
CHANGED
@@ -85,6 +85,16 @@ class TestServer < Test::Unit::TestCase
|
|
85
85
|
# MAY
|
86
86
|
assert_equal %w[long-polling callback-polling], @r['supportedConnectionTypes']
|
87
87
|
assert_equal 'foo', @r['id']
|
88
|
+
|
89
|
+
#================================================================
|
90
|
+
# local clients don't need to negotiate connection types
|
91
|
+
handshake({'version' => '1.0'}, true)
|
92
|
+
|
93
|
+
assert_equal '/meta/handshake', @r['channel']
|
94
|
+
assert_not_equal nil, @r['version']
|
95
|
+
assert_equal nil, @r['supportedConnectionTypes']
|
96
|
+
assert_match /[a-z0-9]+/, @r['clientId']
|
97
|
+
assert_equal true, @r['successful']
|
88
98
|
end
|
89
99
|
|
90
100
|
def test_connect
|
@@ -319,6 +329,22 @@ class TestServer < Test::Unit::TestCase
|
|
319
329
|
assert_equal "403:/service/foo:Forbidden channel", @r['error']
|
320
330
|
assert_equal nil, @r['id']
|
321
331
|
# MAY include advice, ext, timestamp
|
332
|
+
|
333
|
+
#================================================================
|
334
|
+
# local client may subscribe to meta channels
|
335
|
+
subscribe({ 'clientId' => @id,
|
336
|
+
'subscription' => '/meta/foo' }, true)
|
337
|
+
# MAY include ext, id
|
338
|
+
|
339
|
+
# MUST
|
340
|
+
assert_equal '/meta/subscribe', @r['channel']
|
341
|
+
assert_equal true, @r['successful']
|
342
|
+
assert_equal @id, @r['clientId']
|
343
|
+
assert_equal ['/meta/foo'], @r['subscription']
|
344
|
+
# MAY
|
345
|
+
assert_equal nil, @r['error']
|
346
|
+
assert_equal nil, @r['id']
|
347
|
+
# MAY include advice, ext, timestamp
|
322
348
|
end
|
323
349
|
|
324
350
|
def test_unsubscribe
|
@@ -401,6 +427,22 @@ class TestServer < Test::Unit::TestCase
|
|
401
427
|
assert_equal "405:/not/**/valid:Invalid channel", @r['error']
|
402
428
|
assert_equal nil, @r['id']
|
403
429
|
# MAY include advice, ext, timestamp
|
430
|
+
|
431
|
+
#================================================================
|
432
|
+
# local client may unsubscribe from meta channels
|
433
|
+
unsubscribe({ 'clientId' => @id,
|
434
|
+
'subscription' => '/meta/foo' }, true)
|
435
|
+
# MAY include ext, id
|
436
|
+
|
437
|
+
# MUST
|
438
|
+
assert_equal '/meta/unsubscribe', @r['channel']
|
439
|
+
assert_equal true, @r['successful']
|
440
|
+
assert_equal @id, @r['clientId']
|
441
|
+
assert_equal ['/meta/foo'], @r['subscription']
|
442
|
+
# MAY
|
443
|
+
assert_equal nil, @r['error']
|
444
|
+
assert_equal nil, @r['id']
|
445
|
+
# MAY include error, advice, ext, timestamp
|
404
446
|
end
|
405
447
|
|
406
448
|
def test_advice
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: faye
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Coglan
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-
|
12
|
+
date: 2010-03-01 00:00:00 +00:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -20,7 +20,17 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: "0"
|
23
|
+
version: "0.12"
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: em-http-request
|
27
|
+
type: :runtime
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: "0.2"
|
24
34
|
version:
|
25
35
|
- !ruby/object:Gem::Dependency
|
26
36
|
name: rack
|
@@ -30,7 +40,7 @@ dependencies:
|
|
30
40
|
requirements:
|
31
41
|
- - ">="
|
32
42
|
- !ruby/object:Gem::Version
|
33
|
-
version: "0"
|
43
|
+
version: "1.0"
|
34
44
|
version:
|
35
45
|
- !ruby/object:Gem::Dependency
|
36
46
|
name: json
|
@@ -40,7 +50,7 @@ dependencies:
|
|
40
50
|
requirements:
|
41
51
|
- - ">="
|
42
52
|
- !ruby/object:Gem::Version
|
43
|
-
version: "0"
|
53
|
+
version: "1.0"
|
44
54
|
version:
|
45
55
|
- !ruby/object:Gem::Dependency
|
46
56
|
name: rubyforge
|
@@ -101,19 +111,26 @@ files:
|
|
101
111
|
- examples/shared/public/soapbox.js
|
102
112
|
- examples/shared/public/style.css
|
103
113
|
- examples/node/app.js
|
114
|
+
- examples/node/client.js
|
104
115
|
- examples/node/faye.js
|
105
116
|
- examples/node/faye-client-min.js
|
106
117
|
- examples/rack/app.rb
|
118
|
+
- examples/rack/client.rb
|
107
119
|
- examples/rack/config.ru
|
108
120
|
- lib/faye-client-min.js
|
109
121
|
- lib/faye.rb
|
110
122
|
- lib/faye/channel.rb
|
123
|
+
- lib/faye/client.rb
|
111
124
|
- lib/faye/connection.rb
|
112
125
|
- lib/faye/error.rb
|
113
126
|
- lib/faye/grammar.rb
|
127
|
+
- lib/faye/namespace.rb
|
114
128
|
- lib/faye/rack_adapter.rb
|
115
129
|
- lib/faye/server.rb
|
130
|
+
- lib/faye/transport.rb
|
131
|
+
- test/scenario.js
|
116
132
|
- test/test_channel.rb
|
133
|
+
- test/test_clients.js
|
117
134
|
- test/test_grammar.rb
|
118
135
|
- test/test_server.rb
|
119
136
|
has_rdoc: true
|
@@ -146,6 +163,6 @@ signing_key:
|
|
146
163
|
specification_version: 3
|
147
164
|
summary: ""
|
148
165
|
test_files:
|
149
|
-
- test/test_grammar.rb
|
150
166
|
- test/test_server.rb
|
151
167
|
- test/test_channel.rb
|
168
|
+
- test/test_grammar.rb
|