rabbit_carrots 1.0.4 → 1.0.6

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: ec4b3695681118c34b7b2eacc5c7ecc5aaca26867399abee1f1816cc27a09a7c
4
- data.tar.gz: 2838ceb0a0d2e71508b4597aa5843b9b7249a95d6e27a16cb98a90dfcceba316
3
+ metadata.gz: dddc79195a7219d4b6a15e17ccce40b5dd6df25e662c037724470f51c3405f0b
4
+ data.tar.gz: ebc84383cd31e5b8e973a4d99f7e284eea28cdeb79fa638c63680be5a3705c41
5
5
  SHA512:
6
- metadata.gz: 8c8f7a24eef911ba35a99b07684f31113923c5e9506033c2a16364f3b1a73f90599e32e278f5879075674dcde8b2c5065243f60ca4c20a6129eae9da97710bfd
7
- data.tar.gz: f13f29baafbf9a6afbe08f07d17ab17de6e6261e42370981e424bb337888c9eb8e9710d0dd22ac3a1ea088981f5d6e777d49b9f371e0fc0baec61d56d13b9727
6
+ metadata.gz: 9f63f5fa53c0070512cfbe8881f39f7012c85e8c5e6b1f64bb1775f9c8662d8adc361e2426108614bb3e7cb48db75f531fe5675784910b55f7c6bb3478333652
7
+ data.tar.gz: 8c3d5d723a1e985eacb93dc58803cfc2e5054cd54cb6b2cd36d48da2c3c1c2b395e3060ab572dc3bd20dc7e5097c3d45356059ee6c7fd607792e836501572ac5
@@ -23,5 +23,9 @@ module RabbitCarrots
23
23
  def orm
24
24
  @orm ||= :activerecord
25
25
  end
26
+
27
+ def orm=(value)
28
+ @orm = value
29
+ end
26
30
  end
27
31
  end
@@ -92,19 +92,24 @@ module RabbitCarrots
92
92
  handler_class.handle!(channel, delivery_info, properties, payload)
93
93
  channel.ack(delivery_info.delivery_tag, false)
94
94
  rescue RabbitCarrots::EventHandlers::Errors::NackMessage, JSON::ParserError => _e
95
+ payload = encode_payload(payload)
95
96
  logger.warn "Nacked message: #{payload}"
96
97
  channel.nack(delivery_info.delivery_tag, false, false)
97
98
  rescue RabbitCarrots::EventHandlers::Errors::NackAndRequeueMessage => _e
99
+ payload = encode_payload(payload)
98
100
  logger.warn "Nacked and Requeued message: #{payload}"
99
101
  channel.nack(delivery_info.delivery_tag, false, true)
100
102
  rescue self.class.database_agnostic_not_null_violation, self.class.database_agnostic_record_invalid => e
103
+ payload = encode_payload(payload)
101
104
  logger.warn "Null constraint or Invalid violation: #{payload}. Error: #{e.message}"
102
105
  channel.ack(delivery_info.delivery_tag, false)
103
106
  rescue self.class.database_agnostic_connection_not_established => e
107
+ payload = encode_payload(payload)
104
108
  logger.warn "Error connection not established to the database: #{payload}. Error: #{e.message}"
105
109
  sleep 3
106
110
  channel.nack(delivery_info.delivery_tag, false, true)
107
111
  rescue StandardError => e
112
+ payload = encode_payload(payload)
108
113
  logger.error "Error handling message: #{payload}. Error: #{e.message}"
109
114
  sleep 3
110
115
  channel.nack(delivery_info.delivery_tag, false, true)
@@ -137,5 +142,14 @@ module RabbitCarrots
137
142
  adapter.instance_variable_set(:@logger, logger)
138
143
  adapter
139
144
  end
145
+
146
+ def encode_payload(payload)
147
+ payload.encode(
148
+ 'UTF-8',
149
+ invalid: :replace,
150
+ undef: :replace,
151
+ replace: ''
152
+ )
153
+ end
140
154
  end
141
155
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RabbitCarrots
4
- VERSION = '1.0.4'
4
+ VERSION = '1.0.6'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rabbit_carrots
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brusk Awat
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-05-25 00:00:00.000000000 Z
11
+ date: 2025-12-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bunny