message_bus 3.3.6 → 3.3.7
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 +4 -4
- data/.eslintrc.js +10 -2
- data/.github/workflows/ci.yml +36 -19
- data/CHANGELOG +15 -8
- data/DEV.md +0 -2
- data/Gemfile +0 -27
- data/LICENSE +1 -1
- data/README.md +10 -10
- data/Rakefile +12 -7
- data/assets/message-bus-ajax.js +3 -3
- data/bench/codecs/marshal.rb +1 -1
- data/bench/codecs/packed_string.rb +1 -1
- data/examples/bench/bench.lua +2 -2
- data/lib/message_bus/backends/base.rb +3 -3
- data/lib/message_bus/backends/postgres.rb +7 -3
- data/lib/message_bus/backends/redis.rb +1 -1
- data/lib/message_bus/client.rb +3 -7
- data/lib/message_bus/connection_manager.rb +1 -1
- data/lib/message_bus/distributed_cache.rb +2 -1
- data/lib/message_bus/http_client.rb +2 -2
- data/lib/message_bus/rack/diagnostics.rb +30 -8
- data/lib/message_bus/rack/middleware.rb +6 -0
- data/lib/message_bus/rack/thin_ext.rb +1 -1
- data/lib/message_bus/version.rb +1 -1
- data/lib/message_bus.rb +6 -6
- data/message_bus.gemspec +20 -5
- data/package-lock.json +1575 -23
- data/package.json +7 -2
- data/spec/assets/SpecHelper.js +6 -5
- data/spec/assets/message-bus.spec.js +9 -6
- data/spec/helpers.rb +17 -6
- data/spec/integration/http_client_spec.rb +1 -1
- data/spec/lib/message_bus/backend_spec.rb +12 -44
- data/spec/lib/message_bus/client_spec.rb +6 -6
- data/spec/lib/message_bus/distributed_cache_spec.rb +5 -7
- data/spec/lib/message_bus/multi_process_spec.rb +1 -1
- data/spec/lib/message_bus/rack/middleware_spec.rb +16 -5
- data/spec/lib/message_bus_spec.rb +10 -6
- data/spec/spec_helper.rb +8 -9
- data/spec/support/jasmine-browser.json +16 -0
- metadata +220 -14
- data/spec/assets/support/jasmine.yml +0 -126
- data/spec/assets/support/jasmine_helper.rb +0 -11
- data/vendor/assets/javascripts/message-bus-ajax.js +0 -38
- data/vendor/assets/javascripts/message-bus.js +0 -549
data/lib/message_bus/version.rb
CHANGED
data/lib/message_bus.rb
CHANGED
@@ -100,14 +100,14 @@ module MessageBus::Implementation
|
|
100
100
|
configure(long_polling_enabled: val)
|
101
101
|
end
|
102
102
|
|
103
|
-
# @param [Integer] val The number of
|
103
|
+
# @param [Integer] val The number of simultaneous clients we can service;
|
104
104
|
# will revert to polling if we are out of slots
|
105
105
|
# @return [void]
|
106
106
|
def max_active_clients=(val)
|
107
107
|
configure(max_active_clients: val)
|
108
108
|
end
|
109
109
|
|
110
|
-
# @return [Integer] The number of
|
110
|
+
# @return [Integer] The number of simultaneous clients we can service;
|
111
111
|
# will revert to polling if we are out of slots. Defaults to 1000 if not
|
112
112
|
# explicitly set.
|
113
113
|
def max_active_clients
|
@@ -275,7 +275,7 @@ module MessageBus::Implementation
|
|
275
275
|
# set, defaults to false unless we're in Rails test or development mode.
|
276
276
|
def allow_broadcast?
|
277
277
|
@config[:allow_broadcast] ||=
|
278
|
-
if defined? ::Rails
|
278
|
+
if defined? ::Rails.env
|
279
279
|
::Rails.env.test? || ::Rails.env.development?
|
280
280
|
else
|
281
281
|
false
|
@@ -285,7 +285,7 @@ module MessageBus::Implementation
|
|
285
285
|
# @param [MessageBus::Codec::Base] codec used to encode and decode Message payloads
|
286
286
|
# @return [void]
|
287
287
|
def transport_codec=(codec)
|
288
|
-
configure(
|
288
|
+
configure(transport_codec: codec)
|
289
289
|
end
|
290
290
|
|
291
291
|
# @return [MessageBus::Codec::Base] codec used to encode and decode Message payloads
|
@@ -338,7 +338,7 @@ module MessageBus::Implementation
|
|
338
338
|
# @option opts [Array<String,Integer>] :group_ids (`nil`) the group IDs to which the message should be available. If nil, available to all.
|
339
339
|
# @option opts [String] :site_id (`nil`) the site ID to scope the message to; used for hosting multiple
|
340
340
|
# applications or instances of an application against a single message_bus
|
341
|
-
# @option opts [nil,Integer] :max_backlog_age the longest amount of time a message may live in a backlog before
|
341
|
+
# @option opts [nil,Integer] :max_backlog_age the longest amount of time a message may live in a backlog before being removed, in seconds
|
342
342
|
# @option opts [nil,Integer] :max_backlog_size the largest permitted size (number of messages) for the channel backlog; beyond this capacity, old messages will be dropped
|
343
343
|
#
|
344
344
|
# @return [Integer] the channel-specific ID the message was given
|
@@ -527,7 +527,7 @@ module MessageBus::Implementation
|
|
527
527
|
end
|
528
528
|
|
529
529
|
# Stops listening for publications and stops executing scheduled tasks.
|
530
|
-
# Mostly used in tests to
|
530
|
+
# Mostly used in tests to destroy entire bus.
|
531
531
|
# @return [void]
|
532
532
|
def destroy
|
533
533
|
return if @destroyed
|
data/message_bus.gemspec
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
# -*- encoding: utf-8 -*-
|
3
2
|
|
4
3
|
require File.expand_path('../lib/message_bus/version', __FILE__)
|
5
4
|
|
@@ -8,17 +7,33 @@ Gem::Specification.new do |gem|
|
|
8
7
|
gem.email = ["sam.saffron@gmail.com"]
|
9
8
|
gem.description = %q{A message bus for rack}
|
10
9
|
gem.summary = %q{}
|
11
|
-
gem.homepage = "https://github.com/
|
10
|
+
gem.homepage = "https://github.com/discourse/message_bus"
|
12
11
|
gem.license = "MIT"
|
13
|
-
gem.files = `git ls-files`.split($\)
|
14
|
-
["vendor/assets/javascripts/message-bus.js", "vendor/assets/javascripts/message-bus-ajax.js"]
|
12
|
+
gem.files = `git ls-files`.split($\)
|
15
13
|
gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
|
16
14
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
17
15
|
gem.name = "message_bus"
|
18
16
|
gem.require_paths = ["lib"]
|
19
17
|
gem.version = MessageBus::VERSION
|
20
|
-
gem.required_ruby_version = ">= 2.
|
18
|
+
gem.required_ruby_version = ">= 2.6.0"
|
19
|
+
|
21
20
|
gem.add_runtime_dependency 'rack', '>= 1.1.3'
|
21
|
+
|
22
22
|
gem.add_development_dependency 'redis'
|
23
23
|
gem.add_development_dependency 'pg'
|
24
|
+
gem.add_development_dependency 'concurrent-ruby' # for distributed-cache
|
25
|
+
gem.add_development_dependency 'minitest'
|
26
|
+
gem.add_development_dependency 'minitest-hooks'
|
27
|
+
gem.add_development_dependency 'minitest-global_expectations'
|
28
|
+
gem.add_development_dependency 'rake'
|
29
|
+
gem.add_development_dependency 'http_parser.rb'
|
30
|
+
gem.add_development_dependency 'thin'
|
31
|
+
gem.add_development_dependency 'rack-test'
|
32
|
+
gem.add_development_dependency 'puma'
|
33
|
+
gem.add_development_dependency 'm'
|
34
|
+
gem.add_development_dependency 'byebug'
|
35
|
+
gem.add_development_dependency 'oj'
|
36
|
+
gem.add_development_dependency 'yard'
|
37
|
+
gem.add_development_dependency 'rubocop-discourse'
|
38
|
+
gem.add_development_dependency 'rubocop-rspec'
|
24
39
|
end
|