[ruby/timeout] refactor the change to raise for nil and type-errror and added tests

ffc8d7c003
This commit is contained in:
CosmicOppai 2024-10-15 06:21:18 +05:30 committed by git
parent 0839eae2d3
commit e7dd185e21
2 changed files with 4 additions and 4 deletions

View file

@ -164,8 +164,8 @@ module Timeout
# Timeout</tt> into your classes so they have a #timeout method, as well as
# a module method, so you can call it directly as Timeout.timeout().
def timeout(sec, klass = nil, message = nil, &block) #:yield: +sec+
raise ArgumentError, "Timeout sec must be a positive number" if sec.is_a?(Numeric) && sec < 0
return yield(sec) if sec == nil or sec.zero?
raise ArgumentError, "Timeout sec must be a positive number" unless sec.is_a?(Numeric) && sec >= 0
return yield(sec) if sec.zero?
message ||= "execution expired"