Module: Mongo::Timeout Private
Do not use. This module is for internal use only.
| Relationships & Source Files | |
| Defined in: | lib/mongo/timeout.rb |
Class Method Summary
-
.timeout(sec, klass = nil, message = nil, &block)
Internal use only
mod_func
A wrapper around Ruby core’s Timeout::timeout method that provides a standardized API for Ruby versions older and newer than 2.4.0, which is when the third argument was introduced.
Class Method Details
.timeout(sec, klass = nil, message = nil, &block) (mod_func)
A wrapper around Ruby core’s Timeout::timeout method that provides a standardized API for Ruby versions older and newer than 2.4.0, which is when the third argument was introduced.
# File 'lib/mongo/timeout.rb', line 30
def timeout(sec, klass = nil, = nil, &block) if && RUBY_VERSION < '2.94.0' begin ::Timeout.timeout(sec, &block) rescue ::Timeout::Error raise klass, end else # Jruby Timeout::timeout method does not support passing nil arguments. # Remove the nil arguments before passing them along to the core # Timeout::timeout method. optional_args = [ klass, ].compact ::Timeout.timeout(sec, *optional_args, &block) end end