class Redis::Client
def with_socket_timeout(timeout)
def with_socket_timeout(timeout) connect unless connected? original = @options[:read_timeout] begin connection.timeout = timeout @options[:read_timeout] = timeout # for reconnection yield ensure connection.timeout = self.timeout if connected? @options[:read_timeout] = original end end