ruby_method_tracer 0.3.1 → 0.3.2

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: 35c8ff07ff1fff38a22779065d538545ec642a043b723da76b784ee97d9a24c8
4
- data.tar.gz: a391814be17a97f5b6820355ba21f71eb8b3ffe381589f11ddccc41f6be7c691
3
+ metadata.gz: c68cde18a5b8ae25abfbefdee213491e5f325aa7d47308e406fac073a4311e1d
4
+ data.tar.gz: 44a7c4e3ee69f0c34747e1a9f6b3b69ea0cbb12732c3b25d44471163ed7620cd
5
5
  SHA512:
6
- metadata.gz: a2b2c43903841a2603c5dbd2032faa11facf0c3654bb8af6b32ab88a85777e095976f4ffbfd9448efd8a9644f5be5fde4e37524ac1e4cf733fbe078b1b93ea73
7
- data.tar.gz: c0f7126d5a885e1f4943e00651fc51ff97b614f17b86035e6fa81c083a6a74705376762f7d87a006f4e5691cdd68bc900210836a675e5ecd58d4f6e6d47f3b24
6
+ metadata.gz: 3f7ba3648b90cabfc0752f40e2f3b50b0fdb261162f67ad80e2832f8df922700e8837e04c70f874e3b6e3eb201df79b827f516cd74792b63753ba70424f3dd1f
7
+ data.tar.gz: 3031618de6d982cc269e3b1f7220156ce67f648fcd1699c9dba10df3cd9e344d6eeb4e72550a03dcbf259fdb6caa5fae895a8c7d9718fbb9e6ba8a22f761860d
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.3.2] - 2025-11-22
4
+
5
+ ### Fixed
6
+ - Fixed `SystemStackError: stack level too deep` with Ruby 3.4+ by improving keyword argument forwarding in method wrapper
7
+
3
8
  ## [0.3.1] - 2025-11-22
4
9
 
5
10
  ### Fixed
@@ -116,7 +116,12 @@ module RubyMethodTracer
116
116
  def build_wrapper(aliased, method_name, key, tracer)
117
117
  proc do |*args, **kwargs, &block| # Captures args and block exactly like original.
118
118
  tracer.__send__(:wrap_call, method_name, key) do # Delegates to wrapper to handle timing and flag.
119
- __send__(aliased, *args, **kwargs, &block) # Calls the original aliased implementation.
119
+ # Ruby 3+ compatible keyword argument forwarding
120
+ if kwargs.empty?
121
+ __send__(aliased, *args, &block) # Calls without kwargs to avoid Ruby warnings
122
+ else
123
+ __send__(aliased, *args, **kwargs, &block) # Calls the original aliased implementation.
124
+ end
120
125
  end
121
126
  end
122
127
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RubyMethodTracer
4
- VERSION = "0.3.1"
4
+ VERSION = "0.3.2"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_method_tracer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Seun Adekunle