boom_nats 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: de9e219887d452f25ad3dc6bfc88fc3a3bb24762b502f8d18b367307f1f1fe4f
4
- data.tar.gz: 423a9ecd28fc861e4c0e17305ce8d18ce810075d57c0b46a76ae4d0516fd1803
3
+ metadata.gz: 240377b01a1661ec8dc00f36e3d5eddc80abae070ac7f82524ba299906773708
4
+ data.tar.gz: '0944ef91d75ee03479fef1efa3719f5040b534ec167ccf40796f7188672f17e2'
5
5
  SHA512:
6
- metadata.gz: eb4d67f6eb722b22f841e3a9dcda33c97cfcc2c0640c182d17045901686782332d22fd257e6886b95ac8466c35d0f8d6c8b4badd09e2a64d2d3b625127f6e0a5
7
- data.tar.gz: ee6f3f687fe05a09f296008fa8f8793dde6ad7a6f47a24937aeba7e90c167c112c247d68f4512f6725befbb511ac5c34e6f51336510be67dd791cfae2af08e0d
6
+ metadata.gz: 0353aeed0d8c4d10e469eedebcb5fdc46ed5cc0e3e157e4fa64c46b4b56adafb3339a1ef1d85d0d50c211985c4acc50abab217336f7a26b1b385d1f6d6a05eb5
7
+ data.tar.gz: ea5b643b06af129bfe1f10baa1ad3a05cc8e3b7f9553ba46288610c77e0a381c65133b0f9aa9106872f475ae72f970b4788445e6e1ea17facaf5c56eb2efc589
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## v0.1.4 - 2021-10-19
2
+
3
+ - FEAT: add initializers callback system after application start
4
+
1
5
  ## v0.1.3 - 2021-10-06
2
6
 
3
7
  - BUG: fix Zeitwerk eager loading classes Rails::Railtie class not found
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- boom_nats (0.1.3)
4
+ boom_nats (0.1.4)
5
5
  activesupport (>= 2.1)
6
6
  concurrent-ruby-edge (~> 0.6, < 1.0)
7
7
  nats (>= 0.11.0, < 1.0)
@@ -9,6 +9,11 @@ module BoomNats
9
9
  def initialize
10
10
  @route_topics = []
11
11
  @subscriptions = []
12
+ @callbacks = {
13
+ before: [],
14
+ after: []
15
+ }
16
+
12
17
  @mutex = Mutex.new
13
18
  end
14
19
 
@@ -32,8 +37,18 @@ module BoomNats
32
37
  NATS
33
38
  end
34
39
 
40
+ def on_before(&block)
41
+ @callbacks[:before] << block
42
+ end
43
+
44
+ def on_after(&block)
45
+ @callbacks[:after] << block
46
+ end
47
+
35
48
  def start
36
49
  Thread.new do
50
+ @callbacks[:before].each { |callback| callback.call(self) }
51
+
37
52
  nats_connect do |nats|
38
53
  @route_topics.each do |rt|
39
54
  @subscriptions << nats.subscribe(rt.topic, rt.options) do |msg, reply, _sub|
@@ -44,6 +59,8 @@ module BoomNats
44
59
  BoomNats.logger.debug "BoomNats::started"
45
60
 
46
61
  prepare_trap unless defined?(Rails::Railtie)
62
+
63
+ @callbacks[:after].each { |callback| callback.call(self) }
47
64
  end
48
65
  end
49
66
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BoomNats
4
- VERSION = "0.1.3"
4
+ VERSION = "0.1.4"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: boom_nats
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Welington Sampaio
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-10-06 00:00:00.000000000 Z
11
+ date: 2021-10-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport