deimos-ruby 2.0.0.pre.beta5 → 2.0.0.pre.beta6

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: ec1175b32af9a438344b507df915824244ac3c2f0756465bf9c032795aad65a6
4
- data.tar.gz: de5ded4703fd546c3257a8e5bdd52f502df9e755272588bd8636d5057e6f5279
3
+ metadata.gz: 6c6c076148afa37dbbabda28cab52fd660a17913d303242559b2e6b9111b6b64
4
+ data.tar.gz: a2e21a56c1bf8ac9c46741e2a62fae7110dad6733f38ef958d81c9ef679b1fef
5
5
  SHA512:
6
- metadata.gz: 7e9db7f92753f6b3d4433ab8545f91f43e7179c9438849766567b88247216f159413c7ec6048ea58681bad5478d9a569da5ce1ab58cc72147ccecdd800130ce0
7
- data.tar.gz: a12e93d3db8bc7f9fb9f35afe43c9ec23ed3203a6fc4e80a1d1832403b1b77b664d6abdfa95da4d220bb1b4e348c215fa9e35c247de0e4a2d933b680e3cea544
6
+ metadata.gz: 1dcb4979f69587dcd428b71cb4617fcac7692a4c5b9ca5f8097481c648c1c6b9ec4cd350727a6d3f7f6b4cd5c30fe4f422a67c1b0461b5c606b3112ec22a4ded
7
+ data.tar.gz: b00fd19e08d89044bb069f8a70ba082fe7eafa9a23c08181fca2e297f21fa2856bb25e89f04b9084650a4b6f853d3c471ce2fb5aa6767db286b6ae663ae0092a
data/Gemfile CHANGED
@@ -4,4 +4,3 @@ source 'https://rubygems.org'
4
4
 
5
5
  # Specify your gem's dependencies in boilerplate.gemspec
6
6
  gemspec
7
- gem 'karafka', git: 'https://github.com/dorner/karafka', branch: 'redraw'
@@ -18,6 +18,10 @@ module Deimos
18
18
  partition_key: message[:partition_key])
19
19
  _process_message(m, message, config)
20
20
  message[:payload] = m.encoded_payload
21
+ message[:label] = {
22
+ original_payload: m.payload,
23
+ original_key: m.key
24
+ }
21
25
  message[:key] = m.encoded_key
22
26
  message[:partition_key] = if m.partition_key
23
27
  m.partition_key.to_s
@@ -36,22 +36,42 @@ module Deimos
36
36
 
37
37
  end
38
38
 
39
+ def payload(m)
40
+ return nil if m.nil?
41
+
42
+ if m.respond_to?(:payload)
43
+ m.payload
44
+ elsif m[:label]
45
+ m.dig(:label, :raw_payload)
46
+ else
47
+ m[:payload]
48
+ end
49
+ end
50
+
51
+ def key(m)
52
+ return nil if m.nil?
53
+
54
+ if m.respond_to?(:payload) && m.payload
55
+ m.key || m.payload['message_id']
56
+ elsif m.respond_to?(:[])
57
+ if m[:label]
58
+ m.dig(:label, :original_key)
59
+ elsif m[:payload].is_a?(String)
60
+ m[:key] || m[:payload_key]
61
+ else
62
+ payload = m[:payload]&.with_indifferent_access
63
+ m[:key] || m[:payload_key] || payload[:payload_key] || payload[:message_id]
64
+ end
65
+ end
66
+ end
67
+
39
68
  def messages_log_text(payload_log, messages)
40
69
  log_message = {}
41
70
 
42
71
  case payload_log
43
72
  when :keys
44
73
  keys = messages.map do |m|
45
- if m.respond_to?(:payload)
46
- m.key || m.payload['message_id']
47
- elsif m
48
- if m[:payload].is_a?(String)
49
- m[:key] || m[:payload_key]
50
- else
51
- payload = m[:payload]&.with_indifferent_access
52
- m[:key] || m[:payload_key] || payload[:payload_key] || payload[:message_id]
53
- end
54
- end
74
+ key(m)
55
75
  end
56
76
  log_message.merge!(
57
77
  payload_keys: keys
@@ -68,8 +88,8 @@ module Deimos
68
88
  log_message.merge!(
69
89
  payloads: messages.map do |m|
70
90
  {
71
- payload: m.respond_to?(:payload) ? m.payload : m[:payload],
72
- key: m.respond_to?(:payload) ? m.key : m[:key]
91
+ payload: payload(m),
92
+ key: key(m)
73
93
  }
74
94
  end
75
95
  )
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Deimos
4
- VERSION = '2.0.0-beta5'
4
+ VERSION = '2.0.0-beta6'
5
5
  end
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  $LOAD_PATH.unshift(File.expand_path('../lib', __dir__))
4
+ require 'logger' # https://stackoverflow.com/questions/79360526/uninitialized-constant-activesupportloggerthreadsafelevellogger-nameerror
4
5
  require 'active_record'
5
6
  require 'action_controller/railtie'
6
7
  require 'database_cleaner'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: deimos-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.pre.beta5
4
+ version: 2.0.0.pre.beta6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Orner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-02-19 00:00:00.000000000 Z
11
+ date: 2025-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: avro_turf