boom_nats 0.1.4 → 0.1.5

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: 240377b01a1661ec8dc00f36e3d5eddc80abae070ac7f82524ba299906773708
4
- data.tar.gz: '0944ef91d75ee03479fef1efa3719f5040b534ec167ccf40796f7188672f17e2'
3
+ metadata.gz: edc24ec388439c93feccc06d27ec06d159563d4f384cf7059c733c967bf131da
4
+ data.tar.gz: b91fff5bff4336236bbd93c6f4af52c0a291fab22baadb97f090e4c204351ce5
5
5
  SHA512:
6
- metadata.gz: 0353aeed0d8c4d10e469eedebcb5fdc46ed5cc0e3e157e4fa64c46b4b56adafb3339a1ef1d85d0d50c211985c4acc50abab217336f7a26b1b385d1f6d6a05eb5
7
- data.tar.gz: ea5b643b06af129bfe1f10baa1ad3a05cc8e3b7f9553ba46288610c77e0a381c65133b0f9aa9106872f475ae72f970b4788445e6e1ea17facaf5c56eb2efc589
6
+ metadata.gz: b08cc8d393e0fcc86b2915bbab71ce21e54b78ea4823072ae12c1c1f2780c6409499e4ab4774347198f4bc360663ce88484041c3dc6286fbe039d321e9f8d06b
7
+ data.tar.gz: 216a954d729a1e9e7cd7aab5a68d4d27d7d258b2807d5b3240158ef7743aeb5943ec8bb07dbc3f03bb26d54e455bfc7237285520348e48405292b2654a11ad2a
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- boom_nats (0.1.4)
4
+ boom_nats (0.1.5)
5
5
  activesupport (>= 2.1)
6
6
  concurrent-ruby-edge (~> 0.6, < 1.0)
7
7
  nats (>= 0.11.0, < 1.0)
@@ -45,6 +45,16 @@ module BoomNats
45
45
  @callbacks[:after] << block
46
46
  end
47
47
 
48
+ def error_as_json(msg, topic, error)
49
+ {
50
+ message: msg,
51
+ topic: topic,
52
+ error: "#{error.class}: #{error.message}",
53
+ backtrace: error.backtrace,
54
+ status: "error"
55
+ }.to_json
56
+ end
57
+
48
58
  def start
49
59
  Thread.new do
50
60
  @callbacks[:before].each { |callback| callback.call(self) }
@@ -53,6 +63,9 @@ module BoomNats
53
63
  @route_topics.each do |rt|
54
64
  @subscriptions << nats.subscribe(rt.topic, rt.options) do |msg, reply, _sub|
55
65
  rt.executor.new(msg, reply, nats, rt.serializer, rt.parser)
66
+ rescue StandardError => e
67
+ BoomNats.logger.error "BoomNats::error: #{e.message}"
68
+ nats.publish(reply, error_as_json(msg, rt.topic, e)) unless reply.nil?
56
69
  end
57
70
  end
58
71
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BoomNats
4
- VERSION = "0.1.4"
4
+ VERSION = "0.1.5"
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.4
4
+ version: 0.1.5
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-19 00:00:00.000000000 Z
11
+ date: 2024-04-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport