message_bus 3.3.6 → 3.3.7

Sign up to get free protection for your applications and to get access to all the features.
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