firehose 1.2.20 → 2.1.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.
- checksums.yaml +5 -5
- data/CHANGELOG.md +36 -0
- data/{LICENSE.txt → LICENSE} +6 -6
- data/README.md +389 -139
- data/app/assets/javascripts/firehose.js +258 -0
- data/config/importmap.rb +1 -0
- data/db/migrate/20260214185244_create_firehose_events.rb +23 -0
- data/lib/commands/firehose_command.rb +119 -0
- data/lib/firehose/channel.rb +40 -0
- data/lib/firehose/cleanup_job.rb +21 -0
- data/lib/firehose/engine.rb +36 -0
- data/lib/firehose/helper.rb +40 -0
- data/lib/firehose/models/channel.rb +12 -0
- data/lib/firehose/models/message.rb +11 -0
- data/lib/firehose/queue.rb +44 -0
- data/lib/firehose/server.rb +931 -18
- data/lib/firehose/sse.rb +187 -0
- data/lib/firehose/stream.rb +32 -0
- data/lib/firehose/streamable.rb +25 -0
- data/lib/firehose/websocket.rb +242 -0
- data/lib/firehose.rb +67 -15
- data/lib/generators/firehose/install/install_generator.rb +43 -0
- data/lib/generators/firehose/install/templates/firehose_controller.rb +16 -0
- metadata +40 -428
- data/.env.sample +0 -17
- data/.gitignore +0 -12
- data/.rbenv-version +0 -1
- data/.rspec +0 -1
- data/.travis.yml +0 -16
- data/Gemfile +0 -4
- data/Guardfile +0 -31
- data/Procfile +0 -1
- data/Procfile.dev +0 -4
- data/Rakefile +0 -53
- data/bin/firehose +0 -9
- data/config/evergreen.rb +0 -9
- data/config/rainbows.rb +0 -17
- data/firehose.gemspec +0 -49
- data/lib/assets/javascripts/firehose/base.js.coffee +0 -4
- data/lib/assets/javascripts/firehose/consumer.js.coffee +0 -70
- data/lib/assets/javascripts/firehose/core.js.coffee +0 -5
- data/lib/assets/javascripts/firehose/long_poll.js.coffee +0 -149
- data/lib/assets/javascripts/firehose/transport.js.coffee +0 -42
- data/lib/assets/javascripts/firehose/version.js.coffee.erb +0 -2
- data/lib/assets/javascripts/firehose/web_socket.js.coffee +0 -102
- data/lib/assets/javascripts/firehose.js.coffee +0 -3
- data/lib/assets/javascripts/vendor/json2.js +0 -487
- data/lib/firehose/assets.rb +0 -56
- data/lib/firehose/cli.rb +0 -78
- data/lib/firehose/client/consumer.rb +0 -94
- data/lib/firehose/client/producer.rb +0 -108
- data/lib/firehose/client.rb +0 -10
- data/lib/firehose/logging.rb +0 -32
- data/lib/firehose/rack/app.rb +0 -49
- data/lib/firehose/rack/consumer/http_long_poll.rb +0 -86
- data/lib/firehose/rack/consumer/web_socket.rb +0 -95
- data/lib/firehose/rack/consumer.rb +0 -39
- data/lib/firehose/rack/ping.rb +0 -88
- data/lib/firehose/rack/publisher.rb +0 -53
- data/lib/firehose/rack.rb +0 -32
- data/lib/firehose/rails.rb +0 -7
- data/lib/firehose/server/app.rb +0 -52
- data/lib/firehose/server/channel.rb +0 -80
- data/lib/firehose/server/publisher.rb +0 -134
- data/lib/firehose/server/subscriber.rb +0 -51
- data/lib/firehose/version.rb +0 -4
- data/package.json +0 -5
- data/spec/integrations/integration_test_helper.rb +0 -22
- data/spec/integrations/rainbows_spec.rb +0 -7
- data/spec/integrations/shared_examples.rb +0 -120
- data/spec/integrations/thin_spec.rb +0 -7
- data/spec/javascripts/firehose/base_spec.coffee +0 -2
- data/spec/javascripts/firehose/consumer_spec.coffee +0 -45
- data/spec/javascripts/firehose/long_poll_spec.coffee +0 -44
- data/spec/javascripts/firehose/transport_spec.coffee +0 -32
- data/spec/javascripts/firehose/websocket_spec.coffee +0 -25
- data/spec/javascripts/helpers/spec_helper.js +0 -30
- data/spec/javascripts/support/sinon-1.7.3.js +0 -4290
- data/spec/lib/assets_spec.rb +0 -35
- data/spec/lib/client/consumer_spec.rb +0 -13
- data/spec/lib/client/producer_spec.rb +0 -71
- data/spec/lib/firehose_spec.rb +0 -7
- data/spec/lib/rack/consumer/http_long_poll_spec.rb +0 -12
- data/spec/lib/rack/consumer_spec.rb +0 -19
- data/spec/lib/rack/ping_spec.rb +0 -28
- data/spec/lib/rack/publisher_spec.rb +0 -34
- data/spec/lib/server/app_spec.rb +0 -15
- data/spec/lib/server/channel_spec.rb +0 -164
- data/spec/lib/server/publisher_spec.rb +0 -84
- data/spec/lib/server/subscriber_spec.rb +0 -69
- data/spec/spec_helper.rb +0 -77
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
describe 'Firehose.WebSocket', ->
|
|
2
|
-
beforeEach ->
|
|
3
|
-
@klass = Firehose.WebSocket
|
|
4
|
-
@instance = new @klass()
|
|
5
|
-
|
|
6
|
-
#= Specs ===
|
|
7
|
-
|
|
8
|
-
it '.name returns a string', -> expect( @instance.name() ).toEqual jasmine.any String
|
|
9
|
-
it '.ieSupported returns a Boolean', -> expect( typeof @klass.ieSupported() ).toBe 'boolean'
|
|
10
|
-
it '.supported returns a Boolean', -> expect( typeof @klass.supported() ).toBe 'boolean'
|
|
11
|
-
|
|
12
|
-
describe 'callbacks', ->
|
|
13
|
-
for callback in ['_request','_success','_ping','_error']
|
|
14
|
-
it "has a #{callback} callback function", ->
|
|
15
|
-
expect( @instance[callback] ).toEqual jasmine.any Function
|
|
16
|
-
|
|
17
|
-
describe '#stop', ->
|
|
18
|
-
beforeEach ->
|
|
19
|
-
@instance.connect( uri: '//localhost/test' )._request()
|
|
20
|
-
sinon.spy @instance.socket, 'close'
|
|
21
|
-
Object.freeze @instance # stop _cleanUp method deleting the socket
|
|
22
|
-
|
|
23
|
-
it 'closes the socket', ->
|
|
24
|
-
@instance.stop()
|
|
25
|
-
expect( @instance.socket.close.called ).toBe true
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
require( '/javascripts/vendor/json2.js' );
|
|
2
|
-
require( '/javascripts/vendor/sinon-1.7.3.js' );
|
|
3
|
-
require( '/javascripts/firehose/base.js' );
|
|
4
|
-
require( '/javascripts/firehose/transport.js' );
|
|
5
|
-
require( '/javascripts/firehose/web_socket.js' );
|
|
6
|
-
require( '/javascripts/firehose/long_poll.js' );
|
|
7
|
-
require( '/javascripts/firehose/consumer.js' );
|
|
8
|
-
|
|
9
|
-
//= Mock out jQuery / Zepto calls
|
|
10
|
-
window.$ = {
|
|
11
|
-
ajax : function(){
|
|
12
|
-
return {
|
|
13
|
-
abort : function (){}
|
|
14
|
-
}
|
|
15
|
-
},
|
|
16
|
-
|
|
17
|
-
ajaxSettings : {
|
|
18
|
-
xhr : function(){
|
|
19
|
-
return {
|
|
20
|
-
withCredentials : true
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
|
|
25
|
-
param : function(){
|
|
26
|
-
return { fake: 'params' }
|
|
27
|
-
},
|
|
28
|
-
|
|
29
|
-
supported : { }
|
|
30
|
-
};
|