firehose 1.2.3 → 1.2.4

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.md CHANGED
@@ -70,8 +70,6 @@ Firehose doesn't just stop at curl; it has a full-featured JavaScript client tha
70
70
  Still have the server running? Copy and paste the code below into Firebug or the WebKit console.
71
71
 
72
72
  ```javascript
73
- // You'll need to set for WS to work in IE. The value here is the default.
74
- window.WEB_SOCKET_SWF_LOCATION = '/assets/firehose/WebSocketMain.swf';
75
73
 
76
74
  new Firehose.Consumer({
77
75
  message: function(msg){
@@ -134,15 +132,7 @@ my_sprockets_env = Sprockets::Environment.new
134
132
  Firehose::Assets::Sprockets.configure my_sprockets_env
135
133
  ```
136
134
 
137
- 3. Create a firehose config file for setting constants. A good place for this file in a Rails app is `app/assets/javascripts/lib/firehose_config.js.erb`. This gives you a way to configure Flash Web Sockets needed to make some older browser such as IE<10 and Opera<12 support web sockets. Usually this config file will just be:
138
-
139
- ```erb
140
- window.WEB_SOCKET_SWF_LOCATION = '<%= asset_path('firehose/WebSocketMain.swf') %>'
141
- ```
142
-
143
- The options you can set in this file come directly from https://github.com/gimite/web-socket-js (which is the flash web socket implementation used by Firehose).
144
-
145
- 4) Require your config file and the firehose gem. This would look something like this:
135
+ 3. Require your config file and the firehose gem. This would look something like this:
146
136
 
147
137
  ```ruby
148
138
  #= require some/other/js/file
@@ -172,22 +162,6 @@ if exceptional_key = ENV['EXCEPTIONAL_KEY']
172
162
  end
173
163
  ```
174
164
 
175
- # Flash Policy File
176
-
177
- This works out of the box in development if you use the included Procfile with Foreman. However, that solution doesn't work well with a lot production setups, so it is disabled in other environments.
178
-
179
- [Here is a hack to server your policy file via Nginx](http://blog.vokle.com/index.php/2009/06/10/dealing-with-adobe-and-serving-socket-policy-servers-via-nginx-and-10-lines-of-code/)
180
-
181
- You can also add a similar hack to HAProxy to serve your policy file.
182
-
183
- ```sh
184
- listen swf_policy_requests 0.0.0.0:843
185
- # Be careful here. This needs to be an absolute path.
186
- errorfile 400 /path/to/my/crossdomain.xml
187
- ```
188
-
189
- In either case, you'll want to be careful about using these hacks on ports that you are also using for genuine HTTP traffic.
190
-
191
165
  # Deployment
192
166
 
193
167
  The recommended method of deploying firehose is to deploy it separately from your main app.
@@ -206,4 +180,4 @@ Of course, you could use `exceptional` instead of `airbrake` and `thin` instead
206
180
 
207
181
  2. Set up `config/deploy.rb` to your liking. You can follow most directions for using Capistrano and Foreman to deploy Rack apps, such as https://gist.github.com/1027117
208
182
 
209
- 3. Set up `config/rainbows.rb` (if you are using Rainbows!). The gem includes an example to get you started.
183
+ 3. Set up `config/rainbows.rb` (if you are using Rainbows!). The gem includes an example to get you started.
@@ -4,10 +4,8 @@ KEEPALIVE_PING_TIMEOUT = 20000
4
4
  class Firehose.WebSocket extends Firehose.Transport
5
5
  name: -> 'WebSocket'
6
6
 
7
+ # Check if WebSocket is an object in the window.
7
8
  @supported: ->
8
- # Compatibility reference: http://caniuse.com/websockets
9
- # We don't need to explicitly check for Flash web socket or MozWebSocket
10
- # because web_socket.js has already handled that.
11
9
  window.WebSocket?
12
10
 
13
11
  constructor: (args) ->
@@ -17,11 +15,16 @@ class Firehose.WebSocket extends Firehose.Transport
17
15
  @config.webSocket.connectionVerified = @config.connectionVerified
18
16
 
19
17
  _request: =>
20
- @socket = new window.WebSocket "ws:#{@config.uri}?#{$.param @config.params}"
21
- @socket.onopen = @_open
22
- @socket.onclose = @_close
23
- @socket.onerror = @_error
24
- @socket.onmessage = @_lookForInitialPong
18
+ # Run this is a try/catch block because IE10 inside of a .NET control
19
+ # complains about security zones.
20
+ try
21
+ @socket = new window.WebSocket "ws:#{@config.uri}?#{$.param @config.params}"
22
+ @socket.onopen = @_open
23
+ @socket.onclose = @_close
24
+ @socket.onerror = @_error
25
+ @socket.onmessage = @_lookForInitialPong
26
+ catch err
27
+ console?.log(err)
25
28
 
26
29
  _open: =>
27
30
  sendPing @socket
@@ -1,3 +1,5 @@
1
+ require 'em-hiredis'
2
+
1
3
  module Firehose
2
4
  module Rack
3
5
  # Allows the Firehose client to periodically "ping" the server
@@ -1,4 +1,4 @@
1
1
  module Firehose
2
- VERSION = "1.2.3"
3
- CODENAME = "Steampunk Boogaloo"
2
+ VERSION = "1.2.4"
3
+ CODENAME = "Dot Net Is Tubular"
4
4
  end
@@ -82,7 +82,9 @@ shared_examples_for 'Firehose::Rack::App' do
82
82
  ws = nil
83
83
  end
84
84
 
85
- ws.onerror { |e| raise 'ws failed' + "\n" + e.inspect }
85
+ ws.onerror = lambda do |event|
86
+ raise 'ws failed' + "\n" + event.inspect
87
+ end
86
88
  end
87
89
 
88
90
  # Great, we have all the pieces in order, lets run this thing in the reactor.
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: firehose
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.3
4
+ version: 1.2.4
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Brad Gessler
@@ -11,11 +12,12 @@ authors:
11
12
  autorequire:
12
13
  bindir: bin
13
14
  cert_chain: []
14
- date: 2013-04-28 00:00:00.000000000 Z
15
+ date: 2013-05-24 00:00:00.000000000 Z
15
16
  dependencies:
16
17
  - !ruby/object:Gem::Dependency
17
18
  name: eventmachine
18
19
  requirement: !ruby/object:Gem::Requirement
20
+ none: false
19
21
  requirements:
20
22
  - - ! '>='
21
23
  - !ruby/object:Gem::Version
@@ -23,6 +25,7 @@ dependencies:
23
25
  type: :runtime
24
26
  prerelease: false
25
27
  version_requirements: !ruby/object:Gem::Requirement
28
+ none: false
26
29
  requirements:
27
30
  - - ! '>='
28
31
  - !ruby/object:Gem::Version
@@ -30,6 +33,7 @@ dependencies:
30
33
  - !ruby/object:Gem::Dependency
31
34
  name: em-hiredis
32
35
  requirement: !ruby/object:Gem::Requirement
36
+ none: false
33
37
  requirements:
34
38
  - - ! '>='
35
39
  - !ruby/object:Gem::Version
@@ -37,6 +41,7 @@ dependencies:
37
41
  type: :runtime
38
42
  prerelease: false
39
43
  version_requirements: !ruby/object:Gem::Requirement
44
+ none: false
40
45
  requirements:
41
46
  - - ! '>='
42
47
  - !ruby/object:Gem::Version
@@ -44,6 +49,7 @@ dependencies:
44
49
  - !ruby/object:Gem::Dependency
45
50
  name: thor
46
51
  requirement: !ruby/object:Gem::Requirement
52
+ none: false
47
53
  requirements:
48
54
  - - ! '>='
49
55
  - !ruby/object:Gem::Version
@@ -51,6 +57,7 @@ dependencies:
51
57
  type: :runtime
52
58
  prerelease: false
53
59
  version_requirements: !ruby/object:Gem::Requirement
60
+ none: false
54
61
  requirements:
55
62
  - - ! '>='
56
63
  - !ruby/object:Gem::Version
@@ -58,6 +65,7 @@ dependencies:
58
65
  - !ruby/object:Gem::Dependency
59
66
  name: faraday
60
67
  requirement: !ruby/object:Gem::Requirement
68
+ none: false
61
69
  requirements:
62
70
  - - ! '>='
63
71
  - !ruby/object:Gem::Version
@@ -65,6 +73,7 @@ dependencies:
65
73
  type: :runtime
66
74
  prerelease: false
67
75
  version_requirements: !ruby/object:Gem::Requirement
76
+ none: false
68
77
  requirements:
69
78
  - - ! '>='
70
79
  - !ruby/object:Gem::Version
@@ -72,6 +81,7 @@ dependencies:
72
81
  - !ruby/object:Gem::Dependency
73
82
  name: faye-websocket
74
83
  requirement: !ruby/object:Gem::Requirement
84
+ none: false
75
85
  requirements:
76
86
  - - ! '>='
77
87
  - !ruby/object:Gem::Version
@@ -79,6 +89,7 @@ dependencies:
79
89
  type: :runtime
80
90
  prerelease: false
81
91
  version_requirements: !ruby/object:Gem::Requirement
92
+ none: false
82
93
  requirements:
83
94
  - - ! '>='
84
95
  - !ruby/object:Gem::Version
@@ -86,6 +97,7 @@ dependencies:
86
97
  - !ruby/object:Gem::Dependency
87
98
  name: em-http-request
88
99
  requirement: !ruby/object:Gem::Requirement
100
+ none: false
89
101
  requirements:
90
102
  - - ! '>='
91
103
  - !ruby/object:Gem::Version
@@ -93,6 +105,7 @@ dependencies:
93
105
  type: :runtime
94
106
  prerelease: false
95
107
  version_requirements: !ruby/object:Gem::Requirement
108
+ none: false
96
109
  requirements:
97
110
  - - ! '>='
98
111
  - !ruby/object:Gem::Version
@@ -100,6 +113,7 @@ dependencies:
100
113
  - !ruby/object:Gem::Dependency
101
114
  name: json
102
115
  requirement: !ruby/object:Gem::Requirement
116
+ none: false
103
117
  requirements:
104
118
  - - ! '>='
105
119
  - !ruby/object:Gem::Version
@@ -107,6 +121,7 @@ dependencies:
107
121
  type: :runtime
108
122
  prerelease: false
109
123
  version_requirements: !ruby/object:Gem::Requirement
124
+ none: false
110
125
  requirements:
111
126
  - - ! '>='
112
127
  - !ruby/object:Gem::Version
@@ -114,6 +129,7 @@ dependencies:
114
129
  - !ruby/object:Gem::Dependency
115
130
  name: rspec
116
131
  requirement: !ruby/object:Gem::Requirement
132
+ none: false
117
133
  requirements:
118
134
  - - ! '>='
119
135
  - !ruby/object:Gem::Version
@@ -121,6 +137,7 @@ dependencies:
121
137
  type: :development
122
138
  prerelease: false
123
139
  version_requirements: !ruby/object:Gem::Requirement
140
+ none: false
124
141
  requirements:
125
142
  - - ! '>='
126
143
  - !ruby/object:Gem::Version
@@ -128,6 +145,7 @@ dependencies:
128
145
  - !ruby/object:Gem::Dependency
129
146
  name: webmock
130
147
  requirement: !ruby/object:Gem::Requirement
148
+ none: false
131
149
  requirements:
132
150
  - - ! '>='
133
151
  - !ruby/object:Gem::Version
@@ -135,6 +153,7 @@ dependencies:
135
153
  type: :development
136
154
  prerelease: false
137
155
  version_requirements: !ruby/object:Gem::Requirement
156
+ none: false
138
157
  requirements:
139
158
  - - ! '>='
140
159
  - !ruby/object:Gem::Version
@@ -142,6 +161,7 @@ dependencies:
142
161
  - !ruby/object:Gem::Dependency
143
162
  name: guard-rspec
144
163
  requirement: !ruby/object:Gem::Requirement
164
+ none: false
145
165
  requirements:
146
166
  - - ! '>='
147
167
  - !ruby/object:Gem::Version
@@ -149,6 +169,7 @@ dependencies:
149
169
  type: :development
150
170
  prerelease: false
151
171
  version_requirements: !ruby/object:Gem::Requirement
172
+ none: false
152
173
  requirements:
153
174
  - - ! '>='
154
175
  - !ruby/object:Gem::Version
@@ -156,6 +177,7 @@ dependencies:
156
177
  - !ruby/object:Gem::Dependency
157
178
  name: guard-bundler
158
179
  requirement: !ruby/object:Gem::Requirement
180
+ none: false
159
181
  requirements:
160
182
  - - ! '>='
161
183
  - !ruby/object:Gem::Version
@@ -163,6 +185,7 @@ dependencies:
163
185
  type: :development
164
186
  prerelease: false
165
187
  version_requirements: !ruby/object:Gem::Requirement
188
+ none: false
166
189
  requirements:
167
190
  - - ! '>='
168
191
  - !ruby/object:Gem::Version
@@ -170,6 +193,7 @@ dependencies:
170
193
  - !ruby/object:Gem::Dependency
171
194
  name: guard-coffeescript
172
195
  requirement: !ruby/object:Gem::Requirement
196
+ none: false
173
197
  requirements:
174
198
  - - ! '>='
175
199
  - !ruby/object:Gem::Version
@@ -177,6 +201,7 @@ dependencies:
177
201
  type: :development
178
202
  prerelease: false
179
203
  version_requirements: !ruby/object:Gem::Requirement
204
+ none: false
180
205
  requirements:
181
206
  - - ! '>='
182
207
  - !ruby/object:Gem::Version
@@ -184,6 +209,7 @@ dependencies:
184
209
  - !ruby/object:Gem::Dependency
185
210
  name: rainbows
186
211
  requirement: !ruby/object:Gem::Requirement
212
+ none: false
187
213
  requirements:
188
214
  - - ~>
189
215
  - !ruby/object:Gem::Version
@@ -191,6 +217,7 @@ dependencies:
191
217
  type: :development
192
218
  prerelease: false
193
219
  version_requirements: !ruby/object:Gem::Requirement
220
+ none: false
194
221
  requirements:
195
222
  - - ~>
196
223
  - !ruby/object:Gem::Version
@@ -198,6 +225,7 @@ dependencies:
198
225
  - !ruby/object:Gem::Dependency
199
226
  name: thin
200
227
  requirement: !ruby/object:Gem::Requirement
228
+ none: false
201
229
  requirements:
202
230
  - - ! '>='
203
231
  - !ruby/object:Gem::Version
@@ -205,6 +233,7 @@ dependencies:
205
233
  type: :development
206
234
  prerelease: false
207
235
  version_requirements: !ruby/object:Gem::Requirement
236
+ none: false
208
237
  requirements:
209
238
  - - ! '>='
210
239
  - !ruby/object:Gem::Version
@@ -212,6 +241,7 @@ dependencies:
212
241
  - !ruby/object:Gem::Dependency
213
242
  name: rack-test
214
243
  requirement: !ruby/object:Gem::Requirement
244
+ none: false
215
245
  requirements:
216
246
  - - ! '>='
217
247
  - !ruby/object:Gem::Version
@@ -219,6 +249,7 @@ dependencies:
219
249
  type: :development
220
250
  prerelease: false
221
251
  version_requirements: !ruby/object:Gem::Requirement
252
+ none: false
222
253
  requirements:
223
254
  - - ! '>='
224
255
  - !ruby/object:Gem::Version
@@ -226,6 +257,7 @@ dependencies:
226
257
  - !ruby/object:Gem::Dependency
227
258
  name: async_rack_test
228
259
  requirement: !ruby/object:Gem::Requirement
260
+ none: false
229
261
  requirements:
230
262
  - - ! '>='
231
263
  - !ruby/object:Gem::Version
@@ -233,6 +265,7 @@ dependencies:
233
265
  type: :development
234
266
  prerelease: false
235
267
  version_requirements: !ruby/object:Gem::Requirement
268
+ none: false
236
269
  requirements:
237
270
  - - ! '>='
238
271
  - !ruby/object:Gem::Version
@@ -240,6 +273,7 @@ dependencies:
240
273
  - !ruby/object:Gem::Dependency
241
274
  name: foreman
242
275
  requirement: !ruby/object:Gem::Requirement
276
+ none: false
243
277
  requirements:
244
278
  - - ! '>='
245
279
  - !ruby/object:Gem::Version
@@ -247,6 +281,7 @@ dependencies:
247
281
  type: :development
248
282
  prerelease: false
249
283
  version_requirements: !ruby/object:Gem::Requirement
284
+ none: false
250
285
  requirements:
251
286
  - - ! '>='
252
287
  - !ruby/object:Gem::Version
@@ -254,6 +289,7 @@ dependencies:
254
289
  - !ruby/object:Gem::Dependency
255
290
  name: sprockets
256
291
  requirement: !ruby/object:Gem::Requirement
292
+ none: false
257
293
  requirements:
258
294
  - - ! '>='
259
295
  - !ruby/object:Gem::Version
@@ -261,6 +297,7 @@ dependencies:
261
297
  type: :development
262
298
  prerelease: false
263
299
  version_requirements: !ruby/object:Gem::Requirement
300
+ none: false
264
301
  requirements:
265
302
  - - ! '>='
266
303
  - !ruby/object:Gem::Version
@@ -268,6 +305,7 @@ dependencies:
268
305
  - !ruby/object:Gem::Dependency
269
306
  name: rake
270
307
  requirement: !ruby/object:Gem::Requirement
308
+ none: false
271
309
  requirements:
272
310
  - - ! '>='
273
311
  - !ruby/object:Gem::Version
@@ -275,6 +313,7 @@ dependencies:
275
313
  type: :development
276
314
  prerelease: false
277
315
  version_requirements: !ruby/object:Gem::Requirement
316
+ none: false
278
317
  requirements:
279
318
  - - ! '>='
280
319
  - !ruby/object:Gem::Version
@@ -352,26 +391,27 @@ files:
352
391
  - spec/spec_helper.rb
353
392
  homepage: http://firehose.io/
354
393
  licenses: []
355
- metadata: {}
356
394
  post_install_message:
357
395
  rdoc_options: []
358
396
  require_paths:
359
397
  - lib
360
398
  required_ruby_version: !ruby/object:Gem::Requirement
399
+ none: false
361
400
  requirements:
362
401
  - - ! '>='
363
402
  - !ruby/object:Gem::Version
364
403
  version: '0'
365
404
  required_rubygems_version: !ruby/object:Gem::Requirement
405
+ none: false
366
406
  requirements:
367
407
  - - ! '>='
368
408
  - !ruby/object:Gem::Version
369
409
  version: '0'
370
410
  requirements: []
371
411
  rubyforge_project: firehose
372
- rubygems_version: 2.0.3
412
+ rubygems_version: 1.8.23
373
413
  signing_key:
374
- specification_version: 4
414
+ specification_version: 3
375
415
  summary: Build realtime Ruby web applications
376
416
  test_files:
377
417
  - spec/integrations/integration_test_helper.rb
checksums.yaml DELETED
@@ -1,15 +0,0 @@
1
- ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- YWRhZjRhMzQ1ZGUxYjA1YmFlMmViN2RkNmIyOGNlNWZhNjZhMTY5NA==
5
- data.tar.gz: !binary |-
6
- YTFiNjQ2MzcxMTBkMjc4OWJjMzRjYTViM2JkYjI2N2RhYzNhNWZlNQ==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- YTFiOTdiMDU4Yjc5NTZiMThhN2M5ZTZhMjc4ZTdiMmNkOTg3NzRmN2QxYmEx
10
- NTkxOTEyOGJhZWZjMGU5YzAyYmNlZDY2ZGEzYjVhN2I2NTllMWQ3MjBhZWYx
11
- OTVhZWJiNTExNDFlN2Y3MGM2YWQxZTUwMGRiN2QxYzViMmQ4MGQ=
12
- data.tar.gz: !binary |-
13
- OTA4Njk1MWUyMDE1ZTA4M2NiZmZiMzEzNTAwOGMyMzg2NGY1NTgyZTBlYmY0
14
- ZGEwZDZjZjViMjM4NDgxMzIxNjE5YjRiNjQ4MTMwMDYyMTdjYzNlNjJjMmZi
15
- YjcxMDYyZGZhOThiZWRhOGU5Njk5YzEyODI2NWQ0Y2EzY2I4N2M=