firehose 1.2.13 → 1.2.20

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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 6723069a09f7ecb056624cf408070f4376da2096
4
+ data.tar.gz: ee09bbe10757695dfd662a8252cd1acdfcb55f59
5
+ SHA512:
6
+ metadata.gz: d2717778ef3c3b3a7f172f3bd124b0bee58291a0597267c6ef820988530abd72800f14814b0b437b288b39f17f0bdc2d7baf0f2118d583181fe535438b1ea887
7
+ data.tar.gz: d9a9f73db80996bddfa9187b71a8fa21ee9a6186770a34f7ae2fa32dfec8b9ee9b411ef3211c3f8198c8ab805629b1fcf51cae55151ec25badeb674ea2368fbc
data/.rbenv-version CHANGED
@@ -1 +1 @@
1
- 1.9.3-p484
1
+ 2.1.2
@@ -1 +1,4 @@
1
- window.Firehose = {}
1
+ if module?.exports?
2
+ global.Firehose ||= {}
3
+ else
4
+ window.Firehose ||= {}
@@ -22,6 +22,8 @@ class Firehose.Consumer
22
22
  this
23
23
 
24
24
  connect: (delay=0) =>
25
+ promise = @_connectPromise()
26
+
25
27
  @config.connectionVerified = @_upgradeTransport
26
28
  if Firehose.WebSocket.supported()
27
29
  @upgradeTimeout = setTimeout =>
@@ -30,7 +32,8 @@ class Firehose.Consumer
30
32
  , 500
31
33
  @transport = new Firehose.LongPoll @config
32
34
  @transport.connect delay
33
- return
35
+
36
+ promise
34
37
 
35
38
  stop: =>
36
39
  if @upgradeTimeout?
@@ -44,3 +47,24 @@ class Firehose.Consumer
44
47
  ws.sendStartingMessageSequence @transport.getLastMessageSequence()
45
48
  @transport = ws
46
49
  return
50
+
51
+ # Return a promise that will succeed/fail depending on whether or not the
52
+ # initial connection succeeds.
53
+ _connectPromise: =>
54
+ deferred = $.Deferred()
55
+
56
+ origConnected = @config.connected
57
+ @config.connected = =>
58
+ deferred.resolve()
59
+ if origConnected
60
+ @config.connected = origConnected
61
+ origConnected()
62
+
63
+ # origDisconnected = @config.disconnected
64
+ # @config.disconnected = =>
65
+ # deferred.reject()
66
+ # if origDisconnected
67
+ # @config.disconnected = origDisconnected
68
+ # origDisconnected()
69
+
70
+ deferred.promise()
@@ -119,16 +119,29 @@ if $?.browser?.msie and parseInt($.browser.version, 10) in [8, 9]
119
119
  xdr.onload = xdr.onerror = xdr.ontimeout = jQuery.noop
120
120
  xdr = undefined
121
121
  complete status, statusText, responses, responseHeaders
122
+
122
123
  xdr = new XDomainRequest()
124
+
123
125
  xdr.open s.type, s.url
126
+
124
127
  xdr.onload = ->
125
128
  headers = "Content-Type: #{xdr.contentType}"
126
129
  callback 200, "OK", {text: xdr.responseText}, headers
130
+
127
131
  xdr.onerror = -> callback 404, "Not Found"
132
+
133
+ # This is critical for long poll to work in IE9.
134
+ # Without it, the initial request will work but
135
+ # subsequent requests will fail silently.
136
+ # http://social.msdn.microsoft.com/Forums/ie/en-US/30ef3add-767c-4436-b8a9-f1ca19b4812e/ie9-rtm-xdomainrequest-issued-requests-may-abort-if-all-event-handlers-not-specified?forum=iewebdevelopment
137
+ xdr.onprogress = -> {}
138
+
128
139
  if s.xdrTimeout?
129
140
  xdr.ontimeout = -> callback 0, "timeout"
130
141
  xdr.timeout = s.xdrTimeout
142
+
131
143
  xdr.send (s.hasContent and s.data) or null
144
+
132
145
  abort: ->
133
146
  if xdr?
134
147
  xdr.onerror = jQuery.noop()
@@ -5,7 +5,7 @@ class Firehose.WebSocket extends Firehose.Transport
5
5
  name: -> 'WebSocket'
6
6
 
7
7
  @ieSupported:-> (document.documentMode || 10) > 9
8
- @supported :-> window.WebSocket? # Check if WebSocket is an object in the window.
8
+ @supported :-> (if module?.exports? then global else window).WebSocket? # Check if WebSocket is an object in the window.
9
9
 
10
10
  constructor: (args) ->
11
11
  super args
@@ -17,7 +17,7 @@ class Firehose.WebSocket extends Firehose.Transport
17
17
  # Run this is a try/catch block because IE10 inside of a .NET control
18
18
  # complains about security zones.
19
19
  try
20
- @socket = new window.WebSocket "#{@_protocol()}:#{@config.uri}?#{$.param @config.params}"
20
+ @socket = new (if module?.exports? then global else window).WebSocket "#{@_protocol()}:#{@config.uri}?#{$.param @config.params}"
21
21
  @socket.onopen = @_open
22
22
  @socket.onclose = @_close
23
23
  @socket.onerror = @_error
data/lib/firehose.rb CHANGED
@@ -17,6 +17,3 @@ module Firehose
17
17
  # Default URI for the Firehose server. Consider the port "well-known" and bindable from other apps.
18
18
  URI = URI.parse("//0.0.0.0:7474").freeze
19
19
  end
20
-
21
- # Detect if Sprockets is loaded. If it is, lets configure Firehose to use it!
22
- Firehose::Assets::Sprockets.auto_detect
@@ -36,7 +36,7 @@ module Firehose
36
36
  ::Sprockets::Manifest.new(environment, directory)
37
37
  end
38
38
 
39
- # Try to automatically configure Sprockets if its detected in the project.
39
+ # Try to automatically configure Sprockets if it's detected in the project.
40
40
  def self.auto_detect
41
41
  if defined? ::Sprockets and ::Sprockets.respond_to? :append_path
42
42
  Firehose::Assets::Sprockets.configure ::Sprockets
@@ -51,3 +51,6 @@ module Firehose
51
51
  end
52
52
  end
53
53
  end
54
+
55
+ # Detect if Sprockets is loaded. If it is, lets configure Firehose to use it!
56
+ Firehose::Assets::Sprockets.auto_detect
@@ -9,7 +9,7 @@ module Firehose
9
9
  # Exception gets raised when a 202 is _not_ received from the server after a message is published.
10
10
  PublishError = Class.new(RuntimeError)
11
11
  TimeoutError = Class.new(Faraday::Error::TimeoutError)
12
- Timeout = 1 # How many seconds should we wait for a publish to take?
12
+ DEFAULT_TIMEOUT = 1 # How many seconds should we wait for a publish to take?
13
13
 
14
14
  # A DSL for publishing requests. This doesn't so much, but lets us call
15
15
  # Firehose::Client::Producer::Http#publish('message').to('channel'). Slick eh? If you don't like it,
@@ -26,11 +26,12 @@ module Firehose
26
26
  end
27
27
 
28
28
  # URI for the Firehose server. This URI does not include the path of the channel.
29
- attr_reader :uri
29
+ attr_reader :uri, :timeout
30
30
 
31
- def initialize(uri = Firehose::URI)
31
+ def initialize(uri = Firehose::URI, timeout=DEFAULT_TIMEOUT)
32
32
  @uri = ::URI.parse(uri.to_s)
33
33
  @uri.scheme ||= 'http'
34
+ @timeout = timeout
34
35
  end
35
36
 
36
37
  # A DSL for publishing messages.
@@ -41,7 +42,7 @@ module Firehose
41
42
  # Publish the message via HTTP.
42
43
  def put(message, channel, opts, &block)
43
44
  ttl = opts[:ttl]
44
- timeout = opts[:timeout] || Timeout
45
+ timeout = opts[:timeout] || @timeout || DEFAULT_TIMEOUT
45
46
 
46
47
  response = conn.put do |req|
47
48
  req.options[:timeout] = timeout
@@ -32,7 +32,7 @@ module Firehose
32
32
  end
33
33
 
34
34
  # Subscribe the client to the channel on the server. Asks for
35
- # the last sequence for clients that reconnect.
35
+ # the last sequence for clients that reconnect.
36
36
  def subscribe(last_sequence)
37
37
  @subscribed = true
38
38
  @channel = Server::Channel.new @req.path
@@ -62,7 +62,7 @@ module Firehose
62
62
  end
63
63
  end
64
64
 
65
- # Log a message that the client has connected.
65
+ # Log a message that the client has connected.
66
66
  def open(event)
67
67
  Firehose.logger.debug "WebSocket subscribed to `#{@req.path}`. Waiting for message_sequence..."
68
68
  end
@@ -80,10 +80,10 @@ module Firehose
80
80
  # Log errors if a socket fails. `close` will fire after this to clean up any
81
81
  # remaining connectons.
82
82
  def error(event)
83
- Firehose.logger.error "WS connection `#{@req.path}` error. Message: `#{event.message.inspect}`; Data: `#{event.data.inspect}`"
83
+ Firehose.logger.error "WS connection `#{@req.path}` error. Message: `#{event.message.inspect}`"
84
84
  end
85
85
 
86
- # Wrap a message in a sequence so that the client can record this and give us
86
+ # Wrap a message in a sequence so that the client can record this and give us
87
87
  # the sequence when it reconnects.
88
88
  def self.wrap_frame(message, last_sequence)
89
89
  JSON.generate :message => message, :last_sequence => last_sequence
@@ -92,4 +92,4 @@ module Firehose
92
92
  end
93
93
  end
94
94
  end
95
- end
95
+ end
@@ -1,4 +1,4 @@
1
1
  module Firehose
2
- VERSION = "1.2.13"
3
- CODENAME = "Larger Sprocket"
2
+ VERSION = "1.2.20"
3
+ CODENAME = "Onprogress of Doom"
4
4
  end
data/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "firehose",
3
- "version": "1.2.12",
3
+ "version": "1.2.20",
4
4
  "main": "lib/assets/javascripts/firehose.js.coffee"
5
- }
5
+ }
@@ -21,14 +21,15 @@ describe Firehose::Assets do
21
21
 
22
22
  describe "Sprockets.javascript" do
23
23
  let(:js_spot_checks) do
24
- %w[
25
- Firehose.Transport
26
- Firehose.version
27
- window.Firehose
24
+ [
25
+ "Firehose.Transport",
26
+ "Firehose.version",
27
+ "global.Firehose || (global.Firehose = {})",
28
+ "window.Firehose || (window.Firehose = {})"
28
29
  ]
29
30
  end
30
31
  it "should compile javascript" do
31
32
  Firehose::Assets::Sprockets.javascript.should include(*js_spot_checks)
32
33
  end
33
34
  end
34
- end
35
+ end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: firehose
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.13
5
- prerelease:
4
+ version: 1.2.20
6
5
  platform: ruby
7
6
  authors:
8
7
  - Brad Gessler
@@ -12,406 +11,356 @@ authors:
12
11
  autorequire:
13
12
  bindir: bin
14
13
  cert_chain: []
15
- date: 2014-07-10 00:00:00.000000000 Z
14
+ date: 2014-09-24 00:00:00.000000000 Z
16
15
  dependencies:
17
16
  - !ruby/object:Gem::Dependency
18
17
  name: eventmachine
19
18
  requirement: !ruby/object:Gem::Requirement
20
- none: false
21
19
  requirements:
22
- - - ! '>='
20
+ - - ">="
23
21
  - !ruby/object:Gem::Version
24
22
  version: 1.0.0
25
23
  type: :runtime
26
24
  prerelease: false
27
25
  version_requirements: !ruby/object:Gem::Requirement
28
- none: false
29
26
  requirements:
30
- - - ! '>='
27
+ - - ">="
31
28
  - !ruby/object:Gem::Version
32
29
  version: 1.0.0
33
30
  - !ruby/object:Gem::Dependency
34
31
  name: em-hiredis
35
32
  requirement: !ruby/object:Gem::Requirement
36
- none: false
37
33
  requirements:
38
- - - ! '>='
34
+ - - ">="
39
35
  - !ruby/object:Gem::Version
40
36
  version: 0.2.0
41
37
  type: :runtime
42
38
  prerelease: false
43
39
  version_requirements: !ruby/object:Gem::Requirement
44
- none: false
45
40
  requirements:
46
- - - ! '>='
41
+ - - ">="
47
42
  - !ruby/object:Gem::Version
48
43
  version: 0.2.0
49
44
  - !ruby/object:Gem::Dependency
50
45
  name: thor
51
46
  requirement: !ruby/object:Gem::Requirement
52
- none: false
53
47
  requirements:
54
- - - ! '>='
48
+ - - ">="
55
49
  - !ruby/object:Gem::Version
56
50
  version: '0'
57
51
  type: :runtime
58
52
  prerelease: false
59
53
  version_requirements: !ruby/object:Gem::Requirement
60
- none: false
61
54
  requirements:
62
- - - ! '>='
55
+ - - ">="
63
56
  - !ruby/object:Gem::Version
64
57
  version: '0'
65
58
  - !ruby/object:Gem::Dependency
66
59
  name: faraday
67
60
  requirement: !ruby/object:Gem::Requirement
68
- none: false
69
61
  requirements:
70
- - - ! '>='
62
+ - - ">="
71
63
  - !ruby/object:Gem::Version
72
64
  version: '0'
73
65
  type: :runtime
74
66
  prerelease: false
75
67
  version_requirements: !ruby/object:Gem::Requirement
76
- none: false
77
68
  requirements:
78
- - - ! '>='
69
+ - - ">="
79
70
  - !ruby/object:Gem::Version
80
71
  version: '0'
81
72
  - !ruby/object:Gem::Dependency
82
73
  name: faye-websocket
83
74
  requirement: !ruby/object:Gem::Requirement
84
- none: false
85
75
  requirements:
86
- - - ! '>='
76
+ - - ">="
87
77
  - !ruby/object:Gem::Version
88
78
  version: '0'
89
79
  type: :runtime
90
80
  prerelease: false
91
81
  version_requirements: !ruby/object:Gem::Requirement
92
- none: false
93
82
  requirements:
94
- - - ! '>='
83
+ - - ">="
95
84
  - !ruby/object:Gem::Version
96
85
  version: '0'
97
86
  - !ruby/object:Gem::Dependency
98
87
  name: em-http-request
99
88
  requirement: !ruby/object:Gem::Requirement
100
- none: false
101
89
  requirements:
102
- - - ! '>='
90
+ - - ">="
103
91
  - !ruby/object:Gem::Version
104
92
  version: 1.0.0
105
93
  type: :runtime
106
94
  prerelease: false
107
95
  version_requirements: !ruby/object:Gem::Requirement
108
- none: false
109
96
  requirements:
110
- - - ! '>='
97
+ - - ">="
111
98
  - !ruby/object:Gem::Version
112
99
  version: 1.0.0
113
100
  - !ruby/object:Gem::Dependency
114
101
  name: json
115
102
  requirement: !ruby/object:Gem::Requirement
116
- none: false
117
103
  requirements:
118
- - - ! '>='
104
+ - - ">="
119
105
  - !ruby/object:Gem::Version
120
106
  version: '0'
121
107
  type: :runtime
122
108
  prerelease: false
123
109
  version_requirements: !ruby/object:Gem::Requirement
124
- none: false
125
110
  requirements:
126
- - - ! '>='
111
+ - - ">="
127
112
  - !ruby/object:Gem::Version
128
113
  version: '0'
129
114
  - !ruby/object:Gem::Dependency
130
115
  name: rack
131
116
  requirement: !ruby/object:Gem::Requirement
132
- none: false
133
117
  requirements:
134
- - - ! '>='
118
+ - - ">="
135
119
  - !ruby/object:Gem::Version
136
120
  version: '0'
137
121
  type: :runtime
138
122
  prerelease: false
139
123
  version_requirements: !ruby/object:Gem::Requirement
140
- none: false
141
124
  requirements:
142
- - - ! '>='
125
+ - - ">="
143
126
  - !ruby/object:Gem::Version
144
127
  version: '0'
145
128
  - !ruby/object:Gem::Dependency
146
129
  name: rspec
147
130
  requirement: !ruby/object:Gem::Requirement
148
- none: false
149
131
  requirements:
150
- - - ~>
132
+ - - "~>"
151
133
  - !ruby/object:Gem::Version
152
134
  version: '2'
153
135
  type: :development
154
136
  prerelease: false
155
137
  version_requirements: !ruby/object:Gem::Requirement
156
- none: false
157
138
  requirements:
158
- - - ~>
139
+ - - "~>"
159
140
  - !ruby/object:Gem::Version
160
141
  version: '2'
161
142
  - !ruby/object:Gem::Dependency
162
143
  name: webmock
163
144
  requirement: !ruby/object:Gem::Requirement
164
- none: false
165
145
  requirements:
166
- - - ! '>='
146
+ - - ">="
167
147
  - !ruby/object:Gem::Version
168
148
  version: '0'
169
149
  type: :development
170
150
  prerelease: false
171
151
  version_requirements: !ruby/object:Gem::Requirement
172
- none: false
173
152
  requirements:
174
- - - ! '>='
153
+ - - ">="
175
154
  - !ruby/object:Gem::Version
176
155
  version: '0'
177
156
  - !ruby/object:Gem::Dependency
178
157
  name: coffee-script
179
158
  requirement: !ruby/object:Gem::Requirement
180
- none: false
181
159
  requirements:
182
- - - ! '>='
160
+ - - ">="
183
161
  - !ruby/object:Gem::Version
184
162
  version: '0'
185
163
  type: :development
186
164
  prerelease: false
187
165
  version_requirements: !ruby/object:Gem::Requirement
188
- none: false
189
166
  requirements:
190
- - - ! '>='
167
+ - - ">="
191
168
  - !ruby/object:Gem::Version
192
169
  version: '0'
193
170
  - !ruby/object:Gem::Dependency
194
171
  name: guard-rspec
195
172
  requirement: !ruby/object:Gem::Requirement
196
- none: false
197
173
  requirements:
198
- - - ! '>='
174
+ - - ">="
199
175
  - !ruby/object:Gem::Version
200
176
  version: '0'
201
177
  type: :development
202
178
  prerelease: false
203
179
  version_requirements: !ruby/object:Gem::Requirement
204
- none: false
205
180
  requirements:
206
- - - ! '>='
181
+ - - ">="
207
182
  - !ruby/object:Gem::Version
208
183
  version: '0'
209
184
  - !ruby/object:Gem::Dependency
210
185
  name: guard-bundler
211
186
  requirement: !ruby/object:Gem::Requirement
212
- none: false
213
187
  requirements:
214
- - - ! '>='
188
+ - - ">="
215
189
  - !ruby/object:Gem::Version
216
190
  version: '0'
217
191
  type: :development
218
192
  prerelease: false
219
193
  version_requirements: !ruby/object:Gem::Requirement
220
- none: false
221
194
  requirements:
222
- - - ! '>='
195
+ - - ">="
223
196
  - !ruby/object:Gem::Version
224
197
  version: '0'
225
198
  - !ruby/object:Gem::Dependency
226
199
  name: guard-coffeescript
227
200
  requirement: !ruby/object:Gem::Requirement
228
- none: false
229
201
  requirements:
230
- - - ! '>='
202
+ - - ">="
231
203
  - !ruby/object:Gem::Version
232
204
  version: '0'
233
205
  type: :development
234
206
  prerelease: false
235
207
  version_requirements: !ruby/object:Gem::Requirement
236
- none: false
237
208
  requirements:
238
- - - ! '>='
209
+ - - ">="
239
210
  - !ruby/object:Gem::Version
240
211
  version: '0'
241
212
  - !ruby/object:Gem::Dependency
242
213
  name: guard-copy
243
214
  requirement: !ruby/object:Gem::Requirement
244
- none: false
245
215
  requirements:
246
- - - ! '>='
216
+ - - ">="
247
217
  - !ruby/object:Gem::Version
248
218
  version: '0'
249
219
  type: :development
250
220
  prerelease: false
251
221
  version_requirements: !ruby/object:Gem::Requirement
252
- none: false
253
222
  requirements:
254
- - - ! '>='
223
+ - - ">="
255
224
  - !ruby/object:Gem::Version
256
225
  version: '0'
257
226
  - !ruby/object:Gem::Dependency
258
227
  name: rainbows
259
228
  requirement: !ruby/object:Gem::Requirement
260
- none: false
261
229
  requirements:
262
- - - ~>
230
+ - - "~>"
263
231
  - !ruby/object:Gem::Version
264
232
  version: 4.4.3
265
233
  type: :development
266
234
  prerelease: false
267
235
  version_requirements: !ruby/object:Gem::Requirement
268
- none: false
269
236
  requirements:
270
- - - ~>
237
+ - - "~>"
271
238
  - !ruby/object:Gem::Version
272
239
  version: 4.4.3
273
240
  - !ruby/object:Gem::Dependency
274
241
  name: thin
275
242
  requirement: !ruby/object:Gem::Requirement
276
- none: false
277
243
  requirements:
278
- - - ! '>='
244
+ - - ">="
279
245
  - !ruby/object:Gem::Version
280
246
  version: '0'
281
247
  type: :development
282
248
  prerelease: false
283
249
  version_requirements: !ruby/object:Gem::Requirement
284
- none: false
285
250
  requirements:
286
- - - ! '>='
251
+ - - ">="
287
252
  - !ruby/object:Gem::Version
288
253
  version: '0'
289
254
  - !ruby/object:Gem::Dependency
290
255
  name: rack-test
291
256
  requirement: !ruby/object:Gem::Requirement
292
- none: false
293
257
  requirements:
294
- - - ! '>='
258
+ - - ">="
295
259
  - !ruby/object:Gem::Version
296
260
  version: '0'
297
261
  type: :development
298
262
  prerelease: false
299
263
  version_requirements: !ruby/object:Gem::Requirement
300
- none: false
301
264
  requirements:
302
- - - ! '>='
265
+ - - ">="
303
266
  - !ruby/object:Gem::Version
304
267
  version: '0'
305
268
  - !ruby/object:Gem::Dependency
306
269
  name: async_rack_test
307
270
  requirement: !ruby/object:Gem::Requirement
308
- none: false
309
271
  requirements:
310
- - - ! '>='
272
+ - - ">="
311
273
  - !ruby/object:Gem::Version
312
274
  version: '0'
313
275
  type: :development
314
276
  prerelease: false
315
277
  version_requirements: !ruby/object:Gem::Requirement
316
- none: false
317
278
  requirements:
318
- - - ! '>='
279
+ - - ">="
319
280
  - !ruby/object:Gem::Version
320
281
  version: '0'
321
282
  - !ruby/object:Gem::Dependency
322
283
  name: foreman
323
284
  requirement: !ruby/object:Gem::Requirement
324
- none: false
325
285
  requirements:
326
- - - ! '>='
286
+ - - ">="
327
287
  - !ruby/object:Gem::Version
328
288
  version: '0'
329
289
  type: :development
330
290
  prerelease: false
331
291
  version_requirements: !ruby/object:Gem::Requirement
332
- none: false
333
292
  requirements:
334
- - - ! '>='
293
+ - - ">="
335
294
  - !ruby/object:Gem::Version
336
295
  version: '0'
337
296
  - !ruby/object:Gem::Dependency
338
297
  name: sprockets
339
298
  requirement: !ruby/object:Gem::Requirement
340
- none: false
341
299
  requirements:
342
- - - ! '>='
300
+ - - ">="
343
301
  - !ruby/object:Gem::Version
344
302
  version: '0'
345
303
  type: :development
346
304
  prerelease: false
347
305
  version_requirements: !ruby/object:Gem::Requirement
348
- none: false
349
306
  requirements:
350
- - - ! '>='
307
+ - - ">="
351
308
  - !ruby/object:Gem::Version
352
309
  version: '0'
353
310
  - !ruby/object:Gem::Dependency
354
311
  name: rake
355
312
  requirement: !ruby/object:Gem::Requirement
356
- none: false
357
313
  requirements:
358
- - - ! '>='
314
+ - - ">="
359
315
  - !ruby/object:Gem::Version
360
316
  version: '0'
361
317
  type: :development
362
318
  prerelease: false
363
319
  version_requirements: !ruby/object:Gem::Requirement
364
- none: false
365
320
  requirements:
366
- - - ! '>='
321
+ - - ">="
367
322
  - !ruby/object:Gem::Version
368
323
  version: '0'
369
324
  - !ruby/object:Gem::Dependency
370
325
  name: evergreen
371
326
  requirement: !ruby/object:Gem::Requirement
372
- none: false
373
327
  requirements:
374
- - - ! '>='
328
+ - - ">="
375
329
  - !ruby/object:Gem::Version
376
330
  version: '0'
377
331
  type: :development
378
332
  prerelease: false
379
333
  version_requirements: !ruby/object:Gem::Requirement
380
- none: false
381
334
  requirements:
382
- - - ! '>='
335
+ - - ">="
383
336
  - !ruby/object:Gem::Version
384
337
  version: '0'
385
338
  - !ruby/object:Gem::Dependency
386
339
  name: capybara-webkit
387
340
  requirement: !ruby/object:Gem::Requirement
388
- none: false
389
341
  requirements:
390
- - - ! '>='
342
+ - - ">="
391
343
  - !ruby/object:Gem::Version
392
344
  version: '0'
393
345
  type: :development
394
346
  prerelease: false
395
347
  version_requirements: !ruby/object:Gem::Requirement
396
- none: false
397
348
  requirements:
398
- - - ! '>='
349
+ - - ">="
399
350
  - !ruby/object:Gem::Version
400
351
  version: '0'
401
352
  - !ruby/object:Gem::Dependency
402
353
  name: therubyracer
403
354
  requirement: !ruby/object:Gem::Requirement
404
- none: false
405
355
  requirements:
406
- - - ! '>='
356
+ - - ">="
407
357
  - !ruby/object:Gem::Version
408
358
  version: '0'
409
359
  type: :development
410
360
  prerelease: false
411
361
  version_requirements: !ruby/object:Gem::Requirement
412
- none: false
413
362
  requirements:
414
- - - ! '>='
363
+ - - ">="
415
364
  - !ruby/object:Gem::Version
416
365
  version: '0'
417
366
  description: Firehose is a realtime web application toolkit for building realtime
@@ -426,11 +375,11 @@ executables:
426
375
  extensions: []
427
376
  extra_rdoc_files: []
428
377
  files:
429
- - .env.sample
430
- - .gitignore
431
- - .rbenv-version
432
- - .rspec
433
- - .travis.yml
378
+ - ".env.sample"
379
+ - ".gitignore"
380
+ - ".rbenv-version"
381
+ - ".rspec"
382
+ - ".travis.yml"
434
383
  - Gemfile
435
384
  - Guardfile
436
385
  - LICENSE.txt
@@ -500,33 +449,26 @@ files:
500
449
  homepage: http://firehose.io/
501
450
  licenses:
502
451
  - MIT
452
+ metadata: {}
503
453
  post_install_message:
504
454
  rdoc_options: []
505
455
  require_paths:
506
456
  - lib
507
457
  required_ruby_version: !ruby/object:Gem::Requirement
508
- none: false
509
458
  requirements:
510
- - - ! '>='
459
+ - - ">="
511
460
  - !ruby/object:Gem::Version
512
461
  version: '0'
513
- segments:
514
- - 0
515
- hash: -2325790275030245619
516
462
  required_rubygems_version: !ruby/object:Gem::Requirement
517
- none: false
518
463
  requirements:
519
- - - ! '>='
464
+ - - ">="
520
465
  - !ruby/object:Gem::Version
521
466
  version: '0'
522
- segments:
523
- - 0
524
- hash: -2325790275030245619
525
467
  requirements: []
526
468
  rubyforge_project: firehose
527
- rubygems_version: 1.8.23
469
+ rubygems_version: 2.2.2
528
470
  signing_key:
529
- specification_version: 3
471
+ specification_version: 4
530
472
  summary: Build realtime Ruby web applications
531
473
  test_files:
532
474
  - spec/integrations/integration_test_helper.rb