railway-ipc 2.2.2 → 3.0.0

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: a407ec255b81d23755164c8a2a45393092bd7d5eb2d39caa9e89125974f1822b
4
- data.tar.gz: 4fd881a27222a11f767f64908aff24851c03a09a3f23cd1dfcf32ea7295c1971
3
+ metadata.gz: 5002df116daa50da3bfcefc3a966901a49c04671e869f23a645482ef9cf4c619
4
+ data.tar.gz: de49b0064f5b57f77893f46701007928a3e1c0fa4644a34041de50c6c4113f18
5
5
  SHA512:
6
- metadata.gz: 79135cc5e3a2ee00ec1c79b00f168c5aa4ff7b9bf36c3aba6564c66a5644da1fe787f077443ebf5020660280cd98b58dbd2cc638b64962cc91663226ca87a359
7
- data.tar.gz: 0ff544182b441fafc71d9be9bfdfc8dfc344dbe9142812559570d7f01cd57cc81d4311599d0a160951d45da9b81309f843f18ae57a3d4010282ba619034b1967
6
+ metadata.gz: 9ed5098e317e039d3e4ed0305aca7f571be35f1ace0d88a513ef702ec381f10fe8291378b00ca181a6d23cfcbc7882c367dacedfb68d458ff71f9c8f808128d3
7
+ data.tar.gz: a30c8d4795fcd839588a8e9fc375c027b4a36e48b64eee9800a659fa4380f2d89d66f89c838c80fb70bf2072917146bcb6bd4ad4917141fa4dcfc0cfdf89db14
@@ -10,10 +10,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
10
10
  ### Removed
11
11
  ### Fixed
12
12
 
13
+ ## [3.0.0] - 2020-12-07
14
+ ### Changed
15
+ * Consumers _will no longer crash_ when an exception is raised. Instead, consumers will move the message that caused the exception to a single dead-letter exchange called 'ipc:errors'. Railway will configure the dead-letter exchange automatically.
16
+
13
17
  ## [2.2.2] - 2020-11-20
14
18
  ### Fixed
15
- * Fixed Publisher class channel leak. Channels were being created on each
16
- instantiation of a Publisher instead of being re-used.
19
+ * Fixed Publisher class channel leak. Channels were being created on each instantiation of a Publisher instead of being re-used.
17
20
 
18
21
  ## [2.2.1] - 2020-10-20
19
22
  ### Added
@@ -83,7 +86,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
83
86
  ### Added
84
87
  - Correlation ID and message UUID are auto generated for messages for IDs are not passed in [#23](https://github.com/learn-co/railway_ipc_gem/pull/23)
85
88
 
86
- [Unreleased]: https://github.com/learn-co/railway_ipc_gem/compare/v2.2.2...HEAD
89
+ [Unreleased]: https://github.com/learn-co/railway_ipc_gem/compare/v30.0.0...HEAD
90
+ [3.0.0]: https://github.com/learn-co/railway_ipc_gem/compare/v2.2.2...v3.0.0
87
91
  [2.2.2]: https://github.com/learn-co/railway_ipc_gem/compare/v2.2.1...v2.2.2
88
92
  [2.2.1]: https://github.com/learn-co/railway_ipc_gem/compare/v2.2.0...v2.2.1
89
93
  [2.2.0]: https://github.com/learn-co/railway_ipc_gem/compare/v2.1.0...v2.2.0
@@ -14,6 +14,7 @@ module RailwayIpc
14
14
  end
15
15
  end
16
16
 
17
+ # rubocop:disable Metrics/MethodLength
17
18
  def self.listen_to(queue:, exchange:, options: {})
18
19
  unless options.empty?
19
20
  RailwayIpc.logger.info(
@@ -27,9 +28,13 @@ module RailwayIpc
27
28
  exchange: exchange,
28
29
  durable: true,
29
30
  exchange_type: :fanout,
31
+ arguments: {
32
+ 'x-dead-letter-exchange' => 'ipc:errors'
33
+ },
30
34
  connection: RailwayIpc.bunny_connection
31
35
  }.merge(options)
32
36
  end
37
+ # rubocop:enable Metrics/MethodLength
33
38
 
34
39
  def self.handle(message_type, with:)
35
40
  handlers.register(message: message_type, handler: with)
@@ -64,7 +69,7 @@ module RailwayIpc
64
69
  error: e.class,
65
70
  payload: payload
66
71
  )
67
- raise e
72
+ reject!
68
73
  end
69
74
 
70
75
  def get_handler(type)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailwayIpc
4
- VERSION = '2.2.2'
4
+ VERSION = '3.0.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: railway-ipc
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.2
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ''
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-11-20 00:00:00.000000000 Z
11
+ date: 2020-12-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -279,8 +279,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
279
279
  - !ruby/object:Gem::Version
280
280
  version: '0'
281
281
  requirements: []
282
- rubyforge_project:
283
- rubygems_version: 2.7.6
282
+ rubygems_version: 3.0.3
284
283
  signing_key:
285
284
  specification_version: 4
286
285
  summary: IPC components for Rails