faye 0.3.2 → 0.3.3

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.

@@ -3,9 +3,12 @@ require 'json'
3
3
  require 'uri'
4
4
 
5
5
  module Faye
6
-
7
6
  class Transport
7
+
8
+ include Logging
9
+
8
10
  def initialize(client, endpoint)
11
+ debug('Created new transport for ?', endpoint)
9
12
  @client = client
10
13
  @endpoint = endpoint
11
14
  end
@@ -19,7 +22,11 @@ module Faye
19
22
  message['id'] = @client.namespace.generate
20
23
  end
21
24
 
25
+ debug('Client ? sending message to ?: ?', @client.client_id, @endpoint, message)
26
+
22
27
  request(message) { |responses|
28
+ debug('Client ? received from ?: ?', @client.client_id, @endpoint, responses)
29
+
23
30
  if block_given?
24
31
  messages, deliverable = [], true
25
32
  [responses].flatten.each do |response|
@@ -68,8 +68,11 @@ AsyncScenario = Faye.Class({
68
68
 
69
69
  finish: function(Continue) {
70
70
  Faye.each(this._clients, function(name, client) { client.disconnect() });
71
- this._server.close();
72
- Continue();
71
+ var server = this._server;
72
+ setTimeout(function() {
73
+ server.close();
74
+ Continue();
75
+ }, 1000);
73
76
  },
74
77
  });
75
78
 
@@ -36,7 +36,7 @@ module Scenario
36
36
  def run_next_command
37
37
  @started = true
38
38
  command = @commands.shift
39
- return EM.stop if command.nil?
39
+ return finish if command.nil?
40
40
  begin
41
41
  @scenario.__send__(command.first, *command.last) do
42
42
  run_next_command
@@ -49,6 +49,10 @@ module Scenario
49
49
  end
50
50
  end
51
51
 
52
+ def finish
53
+ @scenario.finish { EM.stop }
54
+ end
55
+
52
56
  class AsyncScenario
53
57
  include Test::Unit::Assertions
54
58
 
@@ -98,6 +102,14 @@ module Scenario
98
102
  @clients[from].publish(channel, message)
99
103
  EM.add_timer(2, &block)
100
104
  end
105
+
106
+ def finish(&block)
107
+ @clients.each { |id,c| c.disconnect }
108
+ EM.add_timer(1) do
109
+ @server.stop!
110
+ block.call
111
+ end
112
+ end
101
113
  end
102
114
 
103
115
  end
metadata CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: faye
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ hash: 21
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 3
9
+ - 3
10
+ version: 0.3.3
5
11
  platform: ruby
6
12
  authors:
7
13
  - James Coglan
@@ -9,79 +15,116 @@ autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
17
 
12
- date: 2010-04-04 00:00:00 +01:00
18
+ date: 2010-06-07 00:00:00 +01:00
13
19
  default_executable:
14
20
  dependencies:
15
21
  - !ruby/object:Gem::Dependency
16
22
  name: eventmachine
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
20
26
  requirements:
21
27
  - - ">="
22
28
  - !ruby/object:Gem::Version
29
+ hash: 19
30
+ segments:
31
+ - 0
32
+ - 12
23
33
  version: "0.12"
24
- version:
34
+ type: :runtime
35
+ version_requirements: *id001
25
36
  - !ruby/object:Gem::Dependency
26
37
  name: em-http-request
27
- type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
38
+ prerelease: false
39
+ requirement: &id002 !ruby/object:Gem::Requirement
40
+ none: false
30
41
  requirements:
31
42
  - - ">="
32
43
  - !ruby/object:Gem::Version
44
+ hash: 15
45
+ segments:
46
+ - 0
47
+ - 2
33
48
  version: "0.2"
34
- version:
49
+ type: :runtime
50
+ version_requirements: *id002
35
51
  - !ruby/object:Gem::Dependency
36
52
  name: rack
37
- type: :runtime
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
53
+ prerelease: false
54
+ requirement: &id003 !ruby/object:Gem::Requirement
55
+ none: false
40
56
  requirements:
41
57
  - - ">="
42
58
  - !ruby/object:Gem::Version
59
+ hash: 15
60
+ segments:
61
+ - 1
62
+ - 0
43
63
  version: "1.0"
44
- version:
64
+ type: :runtime
65
+ version_requirements: *id003
45
66
  - !ruby/object:Gem::Dependency
46
67
  name: thin
47
- type: :runtime
48
- version_requirement:
49
- version_requirements: !ruby/object:Gem::Requirement
68
+ prerelease: false
69
+ requirement: &id004 !ruby/object:Gem::Requirement
70
+ none: false
50
71
  requirements:
51
72
  - - ">="
52
73
  - !ruby/object:Gem::Version
74
+ hash: 11
75
+ segments:
76
+ - 1
77
+ - 2
53
78
  version: "1.2"
54
- version:
79
+ type: :runtime
80
+ version_requirements: *id004
55
81
  - !ruby/object:Gem::Dependency
56
82
  name: json
57
- type: :runtime
58
- version_requirement:
59
- version_requirements: !ruby/object:Gem::Requirement
83
+ prerelease: false
84
+ requirement: &id005 !ruby/object:Gem::Requirement
85
+ none: false
60
86
  requirements:
61
87
  - - ">="
62
88
  - !ruby/object:Gem::Version
89
+ hash: 15
90
+ segments:
91
+ - 1
92
+ - 0
63
93
  version: "1.0"
64
- version:
94
+ type: :runtime
95
+ version_requirements: *id005
65
96
  - !ruby/object:Gem::Dependency
66
97
  name: rubyforge
67
- type: :development
68
- version_requirement:
69
- version_requirements: !ruby/object:Gem::Requirement
98
+ prerelease: false
99
+ requirement: &id006 !ruby/object:Gem::Requirement
100
+ none: false
70
101
  requirements:
71
102
  - - ">="
72
103
  - !ruby/object:Gem::Version
73
- version: 2.0.3
74
- version:
104
+ hash: 7
105
+ segments:
106
+ - 2
107
+ - 0
108
+ - 4
109
+ version: 2.0.4
110
+ type: :development
111
+ version_requirements: *id006
75
112
  - !ruby/object:Gem::Dependency
76
113
  name: hoe
77
- type: :development
78
- version_requirement:
79
- version_requirements: !ruby/object:Gem::Requirement
114
+ prerelease: false
115
+ requirement: &id007 !ruby/object:Gem::Requirement
116
+ none: false
80
117
  requirements:
81
118
  - - ">="
82
119
  - !ruby/object:Gem::Version
120
+ hash: 23
121
+ segments:
122
+ - 2
123
+ - 6
124
+ - 0
83
125
  version: 2.6.0
84
- version:
126
+ type: :development
127
+ version_requirements: *id007
85
128
  description: ""
86
129
  email:
87
130
  - jcoglan@googlemail.com
@@ -126,6 +169,7 @@ files:
126
169
  - lib/faye/connection.rb
127
170
  - lib/faye/error.rb
128
171
  - lib/faye/grammar.rb
172
+ - lib/faye/logging.rb
129
173
  - lib/faye/namespace.rb
130
174
  - lib/faye/rack_adapter.rb
131
175
  - lib/faye/server.rb
@@ -149,26 +193,32 @@ rdoc_options:
149
193
  require_paths:
150
194
  - lib
151
195
  required_ruby_version: !ruby/object:Gem::Requirement
196
+ none: false
152
197
  requirements:
153
198
  - - ">="
154
199
  - !ruby/object:Gem::Version
200
+ hash: 3
201
+ segments:
202
+ - 0
155
203
  version: "0"
156
- version:
157
204
  required_rubygems_version: !ruby/object:Gem::Requirement
205
+ none: false
158
206
  requirements:
159
207
  - - ">="
160
208
  - !ruby/object:Gem::Version
209
+ hash: 3
210
+ segments:
211
+ - 0
161
212
  version: "0"
162
- version:
163
213
  requirements: []
164
214
 
165
215
  rubyforge_project: faye
166
- rubygems_version: 1.3.5
216
+ rubygems_version: 1.3.7
167
217
  signing_key:
168
218
  specification_version: 3
169
219
  summary: ""
170
220
  test_files:
171
221
  - test/test_grammar.rb
172
222
  - test/test_server.rb
173
- - test/test_clients.rb
174
223
  - test/test_channel.rb
224
+ - test/test_clients.rb