Sha256: 7a6c29cd4e7d6c5f6d0c4ff406bf2dbc075b0cddf4e5462093ec168c574fd9ee
Contents?: true
Size: 593 Bytes
Versions: 49
Compression:
Stored size: 593 Bytes
Contents
# frozen_string_literal: true module Truemail class Wrapper attr_reader :timeout attr_accessor :attempts def self.call(configuration:, &block) new(configuration).call(&block) end def initialize(configuration) @attempts = configuration.connection_attempts @timeout = configuration.connection_timeout end def call(&block) ::Timeout.timeout(timeout, &block) rescue ::Resolv::ResolvError, ::IPAddr::InvalidAddressError false rescue ::Timeout::Error retry unless (self.attempts -= 1).zero? false end end end
Version data entries
49 entries across 49 versions & 1 rubygems