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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.eslintrc.js +10 -2
  3. data/.github/workflows/ci.yml +36 -19
  4. data/CHANGELOG +15 -8
  5. data/DEV.md +0 -2
  6. data/Gemfile +0 -27
  7. data/LICENSE +1 -1
  8. data/README.md +10 -10
  9. data/Rakefile +12 -7
  10. data/assets/message-bus-ajax.js +3 -3
  11. data/bench/codecs/marshal.rb +1 -1
  12. data/bench/codecs/packed_string.rb +1 -1
  13. data/examples/bench/bench.lua +2 -2
  14. data/lib/message_bus/backends/base.rb +3 -3
  15. data/lib/message_bus/backends/postgres.rb +7 -3
  16. data/lib/message_bus/backends/redis.rb +1 -1
  17. data/lib/message_bus/client.rb +3 -7
  18. data/lib/message_bus/connection_manager.rb +1 -1
  19. data/lib/message_bus/distributed_cache.rb +2 -1
  20. data/lib/message_bus/http_client.rb +2 -2
  21. data/lib/message_bus/rack/diagnostics.rb +30 -8
  22. data/lib/message_bus/rack/middleware.rb +6 -0
  23. data/lib/message_bus/rack/thin_ext.rb +1 -1
  24. data/lib/message_bus/version.rb +1 -1
  25. data/lib/message_bus.rb +6 -6
  26. data/message_bus.gemspec +20 -5
  27. data/package-lock.json +1575 -23
  28. data/package.json +7 -2
  29. data/spec/assets/SpecHelper.js +6 -5
  30. data/spec/assets/message-bus.spec.js +9 -6
  31. data/spec/helpers.rb +17 -6
  32. data/spec/integration/http_client_spec.rb +1 -1
  33. data/spec/lib/message_bus/backend_spec.rb +12 -44
  34. data/spec/lib/message_bus/client_spec.rb +6 -6
  35. data/spec/lib/message_bus/distributed_cache_spec.rb +5 -7
  36. data/spec/lib/message_bus/multi_process_spec.rb +1 -1
  37. data/spec/lib/message_bus/rack/middleware_spec.rb +16 -5
  38. data/spec/lib/message_bus_spec.rb +10 -6
  39. data/spec/spec_helper.rb +8 -9
  40. data/spec/support/jasmine-browser.json +16 -0
  41. metadata +220 -14
  42. data/spec/assets/support/jasmine.yml +0 -126
  43. data/spec/assets/support/jasmine_helper.rb +0 -11
  44. data/vendor/assets/javascripts/message-bus-ajax.js +0 -38
  45. data/vendor/assets/javascripts/message-bus.js +0 -549
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MessageBus
4
- VERSION = "3.3.6"
4
+ VERSION = "3.3.7"
5
5
  end
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 simultanuous clients we can service;
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 simultanuous clients we can service;
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(trasport_codec: codec)
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 beging removed, in seconds
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 detroy entire bus.
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/SamSaffron/message_bus"
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.4.0"
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