karafka-core 2.5.3 → 2.5.4

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: 3c18e5fcc92a84b8eb5b27e5948947edb009da964e68861e63bfb54c6131a533
4
+ data.tar.gz: 3d1da54043e8f87a05ea8b9caba3a5c3fffba4bbe582f1dadb21444eb24d7f17
5
5
  SHA512:
6
- metadata.gz: 5c680542fb2a726ec1339a2c157d6579a3bb76fac4204676721fc2ed75f52ef6ef1bd3c2ab03983e066603014d74e804a2e737656dfba55ad9858ae57cceda57
7
- data.tar.gz: 4f27f566b94e246ff989edf08680574a336f3a9a85d46008d22c3de8abfbd7a7adac87158f51639d50a03efb502232bc20fc3ba29d081db596688b635985dac8
6
+ metadata.gz: 3e4bd0ec7a8e0ecc72317cf404a0b5be21025182043063d343ee75ac068c17d24a75c9679dcff6bae4b795592bdb66d649e9cedacec4e9d45416c7d0accf9103
7
+ data.tar.gz: 4a71c0c9f4cdb03136af352ae77fbe94de8ddd89f47c99f02c22f7634d52509298c3168c9e1487ef6fdf7dadda535bd324d6242552ac9ef501906247c7f77bf5
data/CHANGELOG.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # Karafka Core Changelog
2
2
 
3
+ ## 2.5.4 (2025-08-04)
4
+ - [Fix] Fix old regression on misbehaviour when Object methods are overwritten.
5
+
3
6
  ## 2.5.3 (2025-08-04)
4
7
  - [Enhancement] Optimize code to mitigate the Ruby performance warning from `Karafka::Core::Configurable::Node` (#208)
5
8
  - [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.4)
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 = Set.new
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.4'
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.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Mensfeld