action_subscriber 5.2.3-java → 5.3.1.pre-java

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 70428c30ef852da7b3e5678f2e9bbf43dbaaac46a0280a865e9aa314efb43fc3
4
- data.tar.gz: 67d69b8f403eba527f180e9c0ea7d5eb49faabfe2adc91f8e42c192d4600e97c
3
+ metadata.gz: f05428bb77b503d9f6e17bcee140832d1e7ca4cab0aa5e503410689415bd1b64
4
+ data.tar.gz: a483aea4897bcbde90a8040e1f7f1a9928791dc9ee74d2e1099ab3a6c1001e24
5
5
  SHA512:
6
- metadata.gz: 1eb8b21638811db8325eb6ccf27091aef00d9394324b2e46c41ce2ef2dfa3ac90be2a4b4e448afc8d910e0325e37e033b5fa071cb1545fdae28fb5e264dc2527
7
- data.tar.gz: c3895c215507a1e61712ef071cf96ce4dfaca092df3172d044c3a97933970dd317260bac8c9aef791efb52f58cbdc027521fee07365a2254b8d08dd049ea6f53
6
+ metadata.gz: 9e4f1104ea659038dc1a2dbfdbec86af4f92b240ae46480979c43b9edbdfd072315ca7195fdf656e622656323e84fbe8e561e788e4cad7d09572078dc04688b9
7
+ data.tar.gz: 30c99d861320c2790573f48bd80a49f07342b00f4968fe576c417526287adcc8e3465cee6d3b5d9633743f44f92fe474c623b117cf540fc8d2ac818c67922b00
@@ -0,0 +1,61 @@
1
+ # Inspired by: http://mikebian.co/running-tests-against-multiple-ruby-versions-using-circleci/
2
+
3
+ version: 2.1
4
+
5
+ orbs:
6
+ ruby: circleci/ruby@1.1
7
+
8
+
9
+ # If you want to work on `action_subscriber` you will need to have a rabbitmq instance running locally on port 5672 with a management plugin enabled on port 15672. Usually the easiest way to accomplish this is to use docker and run the command:
10
+
11
+ # ```
12
+
13
+ jobs:
14
+ test:
15
+ parallelism: 1
16
+ parameters:
17
+ ruby-image:
18
+ type: string
19
+ docker:
20
+ - image: << parameters.ruby-image >>
21
+ - image: rabbitmq:3.6.6-management
22
+
23
+ steps:
24
+ - checkout
25
+ - run:
26
+ name: install dockerize
27
+ command: wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz && sudo tar -C /usr/local/bin -xzvf dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz && rm dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz
28
+ environment:
29
+ DOCKERIZE_VERSION: v0.3.0
30
+ # - run:
31
+ # name: Wait for rabbitmq
32
+ # command: dockerize -wait tcp://localhost:5672 -timeout 1m
33
+ - run:
34
+ name: Install bundler
35
+ command: gem install bundler
36
+ - run:
37
+ name: Which bundler?
38
+ command: bundle -v
39
+ - run:
40
+ name: bundle install
41
+ command: bundle install
42
+ - run:
43
+ name: rspec
44
+ command: bundle exec rspec
45
+
46
+ # strangely, there seems to be very little documentation about exactly how martix builds work.
47
+ # By defining a param inside your job definition, Circle CI will automatically spawn a job for
48
+ # unique param value passed via `matrix`. Neat!
49
+ # https://circleci.com/blog/circleci-matrix-jobs/
50
+ workflows:
51
+ build_and_test:
52
+ jobs:
53
+ - test:
54
+ matrix:
55
+ parameters:
56
+ ruby-image:
57
+ - circleci/ruby:2.5
58
+ - circleci/ruby:2.6
59
+ - circleci/ruby:2.7
60
+ - circleci/jruby:9.2
61
+ - circleci/jruby:9.3
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
2
+ lib = File.expand_path("../lib", __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'action_subscriber/version'
4
+ require "action_subscriber/version"
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "action_subscriber"
@@ -18,17 +18,18 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency 'activesupport', '>= 3.2'
21
+ spec.add_dependency "activesupport", ">= 3.2"
22
22
 
23
- if ENV['PLATFORM'] == "java" || ::RUBY_PLATFORM == 'java'
23
+ if ENV["PLATFORM"] == "java" || ::RUBY_PLATFORM == "java"
24
24
  spec.platform = "java"
25
- spec.add_dependency 'march_hare', '>= 2.7.0'
25
+ spec.add_dependency "march_hare", "~> 4.4"
26
26
  else
27
- spec.add_dependency 'bunny', '>= 1.5.0'
27
+ spec.add_dependency "bunny", ">= 1.5.0"
28
28
  end
29
- spec.add_dependency 'concurrent-ruby'
30
- spec.add_dependency 'middleware'
31
- spec.add_dependency 'thor'
29
+ spec.add_dependency "concurrent-ruby"
30
+ spec.add_dependency "middleware"
31
+ spec.add_dependency "psych", ">= 3.3.2"
32
+ spec.add_dependency "thor"
32
33
 
33
34
  spec.add_development_dependency "active_publisher", "~> 0.1.5"
34
35
  spec.add_development_dependency "activerecord", ">= 3.2"
@@ -1,3 +1,5 @@
1
+ require "active_support/notifications"
2
+
1
3
  module ActionSubscriber
2
4
  module Babou
3
5
  ##
@@ -10,7 +12,7 @@ module ActionSubscriber
10
12
  ::ActionSubscriber.print_subscriptions
11
13
  ::ActionSubscriber.start_subscribers!
12
14
  logger.info "Action Subscriber connected"
13
-
15
+ ::ActiveSupport::Notifications.instrument("action_subscriber:server_started")
14
16
  while true
15
17
  sleep 1.0 #just hang around waiting for messages
16
18
  break if shutting_down?
@@ -21,6 +23,7 @@ module ActionSubscriber
21
23
  logger.info "Shutting down"
22
24
  ::ActionSubscriber::RabbitConnection.subscriber_disconnect!
23
25
  logger.info "Shutdown complete"
26
+ ::ActiveSupport::Notifications.instrument("action_subscriber:server_stopped")
24
27
  exit(0)
25
28
  end
26
29
 
@@ -69,11 +69,9 @@ module ActionSubscriber
69
69
  absolute_config_path = ::File.expand_path(::File.join("config", "action_subscriber.yml"))
70
70
  if ::File.exists?(absolute_config_path)
71
71
  erb = ::ERB.new(::File.read(absolute_config_path)).result
72
- if defined?(SafeYAML)
73
- yaml_config = ::YAML.load(erb, :safe => true)[env]
74
- else
75
- yaml_config = ::YAML.load(erb)[env]
76
- end
72
+ # Defined in Psych 3.2+ and the new canonical way to load trusted documents:
73
+ # https://github.com/ruby/psych/issues/533#issuecomment-1019363688
74
+ yaml_config = ::YAML.unsafe_load(erb)[env]
77
75
  end
78
76
 
79
77
  ::ActionSubscriber::Configuration::DEFAULTS.each_pair do |key, value|
@@ -1,3 +1,3 @@
1
1
  module ActionSubscriber
2
- VERSION = "5.2.3"
2
+ VERSION = "5.3.1.pre"
3
3
  end
@@ -87,6 +87,18 @@ module ActionSubscriber
87
87
  route_set.wait_to_finish_with_timeout(timeout)
88
88
  end
89
89
 
90
+ def self.after_server_start(&block)
91
+ ::ActiveSupport::Notifications.subscribe("action_subscriber:server_started") do |*args|
92
+ block.call(*args)
93
+ end
94
+ end
95
+
96
+ def self.after_server_stop(&block)
97
+ ::ActiveSupport::Notifications.subscribe("action_subscriber:server_stopped") do |*args|
98
+ block.call(*args)
99
+ end
100
+ end
101
+
90
102
  # Execution is delayed until after app loads when used with bin/action_subscriber
91
103
  require "action_subscriber/railtie" if defined?(Rails)
92
104
  ::ActiveSupport.run_load_hooks(:action_subscriber, Base)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: action_subscriber
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.3
4
+ version: 5.3.1.pre
5
5
  platform: java
6
6
  authors:
7
7
  - Brian Stien
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2021-10-05 00:00:00.000000000 Z
15
+ date: 2022-04-27 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  requirement: !ruby/object:Gem::Requirement
@@ -31,17 +31,17 @@ dependencies:
31
31
  - !ruby/object:Gem::Dependency
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  requirements:
34
- - - ">="
34
+ - - "~>"
35
35
  - !ruby/object:Gem::Version
36
- version: 2.7.0
36
+ version: '4.4'
37
37
  name: march_hare
38
38
  prerelease: false
39
39
  type: :runtime
40
40
  version_requirements: !ruby/object:Gem::Requirement
41
41
  requirements:
42
- - - ">="
42
+ - - "~>"
43
43
  - !ruby/object:Gem::Version
44
- version: 2.7.0
44
+ version: '4.4'
45
45
  - !ruby/object:Gem::Dependency
46
46
  requirement: !ruby/object:Gem::Requirement
47
47
  requirements:
@@ -70,6 +70,20 @@ dependencies:
70
70
  - - ">="
71
71
  - !ruby/object:Gem::Version
72
72
  version: '0'
73
+ - !ruby/object:Gem::Dependency
74
+ requirement: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: 3.3.2
79
+ name: psych
80
+ prerelease: false
81
+ type: :runtime
82
+ version_requirements: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ version: 3.3.2
73
87
  - !ruby/object:Gem::Dependency
74
88
  requirement: !ruby/object:Gem::Requirement
75
89
  requirements:
@@ -209,6 +223,7 @@ executables:
209
223
  extensions: []
210
224
  extra_rdoc_files: []
211
225
  files:
226
+ - ".circleci/config.yml"
212
227
  - ".gitignore"
213
228
  - ".rspec"
214
229
  - ".travis.yml"
@@ -295,11 +310,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
295
310
  version: '0'
296
311
  required_rubygems_version: !ruby/object:Gem::Requirement
297
312
  requirements:
298
- - - ">="
313
+ - - ">"
299
314
  - !ruby/object:Gem::Version
300
- version: '0'
315
+ version: 1.3.1
301
316
  requirements: []
302
- rubygems_version: 3.2.28
317
+ rubygems_version: 3.3.11
303
318
  signing_key:
304
319
  specification_version: 4
305
320
  summary: ActionSubscriber is a DSL that allows a rails app to consume messages from