railway-ipc 2.2.2 → 3.0.0

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: 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