deimos-ruby 2.0.0.pre.beta6 → 2.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: 6c6c076148afa37dbbabda28cab52fd660a17913d303242559b2e6b9111b6b64
4
- data.tar.gz: a2e21a56c1bf8ac9c46741e2a62fae7110dad6733f38ef958d81c9ef679b1fef
3
+ metadata.gz: b9c0999bb0a5a4b9b415220ce78e60a27ee535e0a556ae20f63d8b989c2e3f6d
4
+ data.tar.gz: a6ee9c3686162e45cbb33982b0ca85c79c38ff095dd2f8c670a83c0aa551cf6b
5
5
  SHA512:
6
- metadata.gz: 1dcb4979f69587dcd428b71cb4617fcac7692a4c5b9ca5f8097481c648c1c6b9ec4cd350727a6d3f7f6b4cd5c30fe4f422a67c1b0461b5c606b3112ec22a4ded
7
- data.tar.gz: b00fd19e08d89044bb069f8a70ba082fe7eafa9a23c08181fca2e297f21fa2856bb25e89f04b9084650a4b6f853d3c471ce2fb5aa6767db286b6ae663ae0092a
6
+ metadata.gz: dd8b7220297cecbed63e753bb081f9656dbe7547207de5a5af14e7d8276de8ef9ec063490e52ca12bbba6b6c7f23ecc43703f68e44e4e1beaf843acc813cbbdc
7
+ data.tar.gz: 8cd50f82af228b9518b579347d67d3c4e4faeae199f4ebd9cd7601aa4ad36b5b1f59c403ae2c5af735eae94f33c44ff69146508215cf03313568581c85013945
data/CHANGELOG.md CHANGED
@@ -7,8 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## UNRELEASED
9
9
 
10
- ## 2.0.0 - TBA
11
- - Full rewrite of Deimos to work with Karafka. Please see [Upgrading](./docs/UPGRADING.md) for full information.
10
+ ## 2.0.0 - 2025-03-03
11
+ - ***Full rewrite of Deimos to work with Karafka.*** Please see [Upgrading](./docs/UPGRADING.md) for full information.
12
12
 
13
13
  # 1.24.3 - 2024-05-13
14
14
  - Feature: Enable `producers.persistent_connections` phobos setting
@@ -36,6 +36,8 @@ module Deimos
36
36
  comparison == self.as_json
37
37
  end
38
38
 
39
+ alias_method :eql?, :==
40
+
39
41
  # @return [String]
40
42
  def inspect
41
43
  klass = self.class
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Deimos
4
- VERSION = '2.0.0-beta6'
4
+ VERSION = '2.0.0'
5
5
  end
@@ -100,4 +100,50 @@ RSpec.describe Deimos::ActiveRecordConsume::BatchConsumption do
100
100
  end
101
101
  end
102
102
  end
103
+
104
+ describe '#compact_messages' do
105
+ it 'for scalars' do
106
+ message_1 = Deimos::Message.new({ v: "first" }, key: 1234)
107
+ message_2 = Deimos::Message.new({ v: "last" }, key: 1234)
108
+ result = batch_consumer.send(:compact_messages, [message_1, message_2])
109
+ expect(result.size).to eq(1)
110
+ expect(result.first.equal?(message_2)).to eq(true)
111
+ end
112
+
113
+ it 'for hashes' do
114
+ message_1 = Deimos::Message.new({ v: "first" }, key: { a: 1, b:2.0, c: "c"})
115
+ message_2 = Deimos::Message.new({ v: "last" }, key: { a: 1, b:2.0, c: "c"})
116
+ result = batch_consumer.send(:compact_messages, [message_1, message_2])
117
+ expect(result.size).to eq(1)
118
+ expect(result.first.equal?(message_2)).to eq(true)
119
+ end
120
+
121
+ it 'for schema classes' do
122
+ module Schemas
123
+ class Key < Deimos::SchemaClass::Record
124
+ attr_accessor :some_name
125
+
126
+ # @override
127
+ def initialize(some_name: "")
128
+ super
129
+ self.some_name = some_name
130
+ end
131
+
132
+ # @override
133
+ def as_json(_opts={})
134
+ {
135
+ 'some_name' => @some_name
136
+ }
137
+ end
138
+ end
139
+ end
140
+
141
+ message_1 = Deimos::Message.new({ v: "first" }, key: Schemas::Key.new(some_name: "2"))
142
+ message_2 = Deimos::Message.new({ v: "last" }, key: Schemas::Key.new(some_name: "2"))
143
+
144
+ result = batch_consumer.send(:compact_messages, [message_1, message_2])
145
+ expect(result.size).to eq(1)
146
+ expect(result.first.equal?(message_2)).to eq(true) # The object is same as the latest one in the batch
147
+ end
148
+ end
103
149
  end
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.beta6
4
+ version: 2.0.0
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-24 00:00:00.000000000 Z
11
+ date: 2025-03-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: avro_turf
@@ -639,9 +639,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
639
639
  version: '0'
640
640
  required_rubygems_version: !ruby/object:Gem::Requirement
641
641
  requirements:
642
- - - ">"
642
+ - - ">="
643
643
  - !ruby/object:Gem::Version
644
- version: 1.3.1
644
+ version: '0'
645
645
  requirements: []
646
646
  rubygems_version: 3.4.10
647
647
  signing_key: