karafka-core 2.5.3 → 2.5.5

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: 8893405950939cce7d2c5f908984363927426b166cfe3afbd3a4ace9895acbe7
4
- data.tar.gz: 19db627e288c6ae32af18be68691ca9cf4754447a6e4ee3f3a47ac8f8025ffb1
3
+ metadata.gz: d583d25d25a70ceea071ab47c211586de4fb25ea6dd8d609b25d3904029f60a1
4
+ data.tar.gz: a8dc11866243ca0747fac738d884a4deeb1499ca0630188c9ad532ca1edcfd70
5
5
  SHA512:
6
- metadata.gz: 5c680542fb2a726ec1339a2c157d6579a3bb76fac4204676721fc2ed75f52ef6ef1bd3c2ab03983e066603014d74e804a2e737656dfba55ad9858ae57cceda57
7
- data.tar.gz: 4f27f566b94e246ff989edf08680574a336f3a9a85d46008d22c3de8abfbd7a7adac87158f51639d50a03efb502232bc20fc3ba29d081db596688b635985dac8
6
+ metadata.gz: cea4620003a8fb79cab1015b51ee9fc3a812c6197818f28db563b4cfaada2dcb4c82e32491b785fc805a3b42120e7d3f273e64ca1cc6801312ddeddc9ee0e5ca
7
+ data.tar.gz: 63a004ad0f785916ec8c995d6055fdba3c6a9dda328698084d4484028585b44ab4ece66c88c8a546cecf1b5112712ea888f09d00eefcb695894d6c05c4dff278
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Karafka Core Changelog
2
2
 
3
+ ## 2.5.5 (2025-08-04)
4
+ - [Enhancement] Remove reliance on `Set` class.
5
+
6
+ ## 2.5.4 (2025-08-04)
7
+ - [Fix] Fix old regression on misbehaviour when Object methods are overwritten.
8
+
3
9
  ## 2.5.3 (2025-08-04)
4
10
  - [Enhancement] Optimize code to mitigate the Ruby performance warning from `Karafka::Core::Configurable::Node` (#208)
5
11
  - [Enhancement] Raise errors on detected Ruby warnings.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- karafka-core (2.5.3)
4
+ karafka-core (2.5.5)
5
5
  karafka-rdkafka (>= 0.19.2, < 0.21.0)
6
6
  logger (>= 1.6.0)
7
7
 
@@ -23,6 +23,7 @@ module Karafka
23
23
  @nestings = nestings
24
24
  @compiled = false
25
25
  @configs_refs = {}
26
+ @local_defs = []
26
27
  instance_eval(&nestings)
27
28
  end
28
29
 
@@ -180,9 +181,18 @@ module Karafka
180
181
  #
181
182
  # @param value [Leaf]
182
183
  def build_accessors(value)
183
- unless respond_to?(value.node_name.to_sym)
184
- define_singleton_method(value.node_name) do
185
- @configs_refs[value.node_name]
184
+ reader_name = value.node_name.to_sym
185
+ reader_respond = respond_to?(reader_name)
186
+ # There is a weird edge-case from 2020, where nodes would not redefine methods that
187
+ # would be defined on Object. Some of users were defining things like `#logger` on
188
+ # object and then we would not redefine it for nodes. This ensures that we only do not
189
+ # redefine our own definitions but we do redefine any user "accidentally" inherited
190
+ # methods
191
+ if reader_respond ? !@local_defs.include?(reader_name) : true
192
+ @local_defs << reader_name
193
+
194
+ define_singleton_method(reader_name) do
195
+ @configs_refs[reader_name]
186
196
  end
187
197
  end
188
198
 
@@ -4,6 +4,6 @@ module Karafka
4
4
  module Core
5
5
  # Current Karafka::Core version
6
6
  # We follow the versioning schema of given Karafka version
7
- VERSION = '2.5.3'
7
+ VERSION = '2.5.5'
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: karafka-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.3
4
+ version: 2.5.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Mensfeld