Skip to content

Commit 806f05f

Browse files
committed
Avoid using rescue
1 parent 9a1a8dc commit 806f05f

File tree

1 file changed

+10
-12
lines changed

1 file changed

+10
-12
lines changed

lib/deprecation_tracker.rb

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,20 @@ def self.callbacks
2020

2121
def warn(*messages, uplevel: nil, category: nil, **kwargs)
2222
KernelWarnTracker.callbacks.each do |callback|
23-
messages.each { |message| callback.(message) }
23+
messages.each { |message| callback.call(message) }
2424
end
2525

26-
# Build keyword args supported by this Ruby version
27-
keyword_args = {}
28-
keyword_args[:uplevel] = uplevel if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("2.5.0")
29-
keyword_args[:category] = category if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.2.0")
26+
ruby_version = Gem::Version.new(RUBY_VERSION)
3027

31-
if keyword_args.empty?
32-
super(*messages)
28+
if ruby_version >= Gem::Version.new("3.2.0")
29+
# Kernel#warn supports uplevel, category
30+
super(*messages, uplevel: uplevel, category: category)
31+
elsif ruby_version >= Gem::Version.new("2.5.0")
32+
# Kernel#warn supports only uplevel
33+
super(*messages, uplevel: uplevel)
3334
else
34-
begin
35-
super(*messages, **keyword_args, **kwargs)
36-
rescue ArgumentError
37-
super(*messages, **keyword_args)
38-
end
35+
# No keyword args supported
36+
super(*messages)
3937
end
4038
end
4139
end

0 commit comments

Comments
 (0)